php重要配置
php.ini
启动全局变量
register_globals=off
这个设置的作用是关闭自动注册的全局变量,在设置为on时,php会将
$_POST
,$_GET
,$_COOKIE
,$_ENV
,$_SESSION
数组中的$key=>$value
直接注册为变量。- 变量之间互相覆盖。
- 安全问题,所以要设置为off,新版本已取消。
短标签
short_open_tag=on
这个设置决定是否使用PHP代码开始标志的缩写形式
<? ?>
。如果禁用了,必须使用完整形式<?php ?>
。该指令也会影响到缩写形式
<?=
,它和<? echo
等价。从php5.4.0起,<?=
总是可用的。安全模式
safe_mode=off
php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制。但默认的php.ini没有打开安全模式。
- 该特性已自php5.3.0起废弃并将自php5.4.0起移除。
禁用类/函数
disable_classes=
,disable_functions=
禁用某些类,禁止某些函数。接受逗号分隔的函数名列表作为参数。只能设置在php.ini中。
设置上传及最大上传文件大小
file_uploads=on
,upload_max_filesize=8M
文件上传临时目录
upload_tmp_dir
上传临时文件保存的目录,需要可写,如果不设置,则采用系统临时目录。(/tmp、C:\Windows\Temp)
用户访问目录限制
open_basedir=.:/tmp/
使用open_basedir
选项能够控制php脚本只能访问指定的目录,这样能够避免php脚本访问不应该访问的文件,在一定程度上限制了print_r(scandir(dirname(__FILE__))); echo "\r\n"; print_r(scandir(dirname(__FILE__)."/../"));
若设置了
open_basedir
,后者无法成功执行。错误信息控制
display_error=On
是否将错误信息作为输出的一部分,站点发布后应该关闭这项功能1,一面暴露信息。调试的时候应该设置On。
设置错误报告级别
error_reporting=E_ALL
这个设置的作用是将错误级别设置最高,可以显示所有问题。
错误日志
error_log=
错误日志的位置,必须对web用户可写入,如果不定义则默认写入到web服务器的错误日志中去。
log_errors=on
建议将错误日志输出到文件,而不是直接输出到前端。
log_errors_max_length=1024
错误日志关联信息的最大长度,设为0表示无限长度。
魔术引号(warning:本特性自php5.3.0起废弃并将自php5.4.0起移除。)
magic_quotes_gpc=On
magic_quotes_runtime=Off
为GPC(GET/POST/COOKIE)操作设置magic_quotes状态。当magic_quotes为on时,所有的单引号、双引号、反斜杠和NULL被一个反斜杠自动转义。
是否允许打开远程文件
allow_url_fopen=on
本选项激活了url形式的fopen封装协议使得可以访问url对象例如文件。默认的封装协议提供用ftp和http协议来访问远程文件,一些扩展库例如zlib可能会注册更多的封装协议。
<?php echo file_get_contents("https://www.baidu.com"); ?>
是否允许包含远程文件
allow_url_include=off
本选项激活允许include,include_once,require,require_once等函数使用URL形式的fopen封装协议。即可以包含远程文件。