php最详细的配置⽂件(中⽂注释)
这个⽂件必须命名为''php.ini''并放置在f中的PHPIniDir指令指定的⽬录中。
该⽂件的语法⾮常简单。空⽩字符和以分号开始的⾏被简单地忽略。
毛阿敏的老公是谁 章节标题(例如: [php])也被简单地忽略,即使将来它们可能有某种意义。
设置指令的格式如下:
directive = value
指令名(directive)是⼤⼩写敏感的!所以"foo=bar"不同于"FOO=bar"。
值(value)可以是:
1. ⽤引号界定的字符串(如:"foo")
2. ⼀个数字(整数或浮点数,如:0, 1, 34, -1,3
3.55)
3. ⼀个PHP常量(如:E_ALL, M_PI)
4. ⼀个INI常量(On, Off, none)
5. ⼀个表达式(如:E_ALL &~E_NOTICE)
INI⽂件中的表达式仅使⽤:位运算符、逻辑⾮、圆括号:
| 位或
& 位与
~ 位⾮
! 逻辑⾮
布尔标志⽤ On 表⽰打开,⽤ Off 表⽰关闭。
⼀个空字符串可以⽤在等号后不写任何东西表⽰,或者⽤ none 关键字:
foo = ; 将foo设为空字符串
foo = none; 将foo设为空字符串
foo = "none"; 将foo设为字符串''none''
如果你在指令值中使⽤动态扩展(PHP扩展或Zend扩展)中的常量,那么你只能在加载这些动态扩展的指令⾏之后使⽤这些常量。f;;
还可以在f中覆盖php.ini的值,以进⾏更灵活的配置:
php_value name value;设置⾮bool型的指令,将value设为none则清除先前的设定
php_flagname on|off ;仅⽤于设置bool型的指令
PHP常量(如E_ALL)仅能在php.ini中使⽤,在f中必须使⽤相应的掩码值。
带"SYS"标志的指令只能在f中的全局配置部分使⽤,
带"ini"标志的指令不能在f中使⽤,它们仅能⽤于php.ini中。
====================配置指令详解=======================================
以下每个指令的设定值都与 PHP-5.2.0 内建的默认值相同。
也就是说,如果''php.ini''不存在,或者你删掉了某些⾏,默认值与之相同。
;;;;;;;;;;;;
Apache;;
;;;;;;;;;;;;
[Apache]
仅在将PHP作为Apache模块时才有效。
engine = On
是否启⽤PHP解析引擎。
可以在f中基于⽬录或者虚拟主机来打开或者关闭PHP解析引擎。
last_modified = Off
是否在Last-Modified应答头中放置该PHP脚本的最后修改时间。
xbithack = Off
是否不管⽂件结尾是什么,都作为PHP可执⾏位组来解析。
child_terminate = Off
PHP脚本在请求结束后是否允许使⽤apache_child_terminate()函数终⽌⼦进程。该指令仅在UNIX平台上将PHP安装为Apache1.3的模块时可⽤。其他情况下皆不存在。
;;;;;;;;;;;;;
PHP核⼼ ;;
;;;;;;;;;;;;;
当前党的三大历史任务是[PHP-Core-DateTime]
前四个配置选项⽬前仅⽤于date_sunrise()和date_sunset()函数。
date.default_latitude = 31.7667
默认纬度
date.default_longitude = 35.2333
默认经度
date.sunrise_zenith = 90.583333
默认⽇出天顶
date.sunset_zenith = 90.583333
默认⽇落天顶
date.timezone =
未设定TZ环境变量时⽤于所有⽇期和时间函数的默认时区。
中国⼤陆应当使⽤"PRC"
应⽤时区的优先顺序为:
1. ⽤date_default_timezone_set()函数设定的时区(如果设定了的话)
2. TZ 环境变量(如果⾮空的话)
3. 该指令的值(如果设定了的话)
4. PHP⾃⼰推测(如果操作系统⽀持)
5. 如果以上都不成功,则使⽤ UTC
[PHP-Core-Assert]
assert.active = On
是否启⽤assert()断⾔评估
assert.bail = Off
是否在发⽣失败断⾔时中⽌脚本的执⾏
assert.callback =
发⽣失败断⾔时执⾏的回调函数
感谢父母的英语作文
assert.quiet_eval = Off
是否使⽤安静评估(不显⽰任何错误信息,相当于error_reporting=0)。
若关闭则在评估断⾔表达式的时候使⽤当前的error_reporting指令值。
assert.warning = On
是否对每个失败断⾔都发出警告
[PHP-Core-SafeMode]
安全模式是为了解决共享服务器的安全问题⽽设⽴的。
但试图在PHP层解决这个问题在结构上是不合理的,
正确的做法应当是修改web服务器层和操作系统层。
因此在PHP6中废除了安全模式,并打算使⽤open_basedir指令取代之。
safe_mode = Off
SYS
是否启⽤安全模式。
打开时,PHP将检查当前脚本的拥有者是否和被操作的⽂件的拥有者相同,
相同则允许操作,不同则拒绝操作。
safe_mode_gid = Off
SYS
在安全模式下,默认在访问⽂件时会做UID⽐较检查。
但有些情况下严格的UID检查反⽽是不适合的,宽松的GID检查已经⾜够。
如果你想将其放宽到仅做GID⽐较,可以打开这个参数。
safe_mode_allowed_env_vars ="PHP_"
SYS
在安全模式下,⽤户仅可以更改的环境变量的前缀列表(逗号分隔)。
允许⽤户设置某些环境变量,可能会导致潜在的安全漏洞。
注意: 如果这⼀参数值为空,PHP将允许⽤户更改任意环境变量!
safe_mode_protected_env_vars ="LD_LIBRARY_PATH"
SYS
在安全模式下,⽤户不能更改的环境变量列表(逗号分隔)。
这些变量即使在safe_mode_allowed_env_vars指令设置为允许的情况下也会得到保护。safe_mode_exec_dir ="/usr/local/php/bin"
SYS
在安全模式下,只有该⽬录下的可执⾏程序才允许被执⾏系统程序的函数执⾏。
这些函数是:system, escapeshellarg, escapeshellcmd,exec, passthru,proc_close, proc_get_status, proc_nice,
proc_open,proc_terminate, shell_exec
safe_mode_include_dir =
SYS
在安全模式下,该组⽬录和其⼦⽬录下的⽂件被包含时,将跳过UID/GID检查。换句话说,如果此处的值为空,任何UID/GID不符合的⽂件都不允许被包含。这⾥设置的⽬录必须已经存在于include_path指令中或者⽤完整路径来包含。
多个⽬录之间⽤冒号(Win下为分号)隔开。指定的限制实际上是⼀个前缀,⽽⾮⼀个⽬录名,也就是说"/dir/incl"将允许访
问"/dir/include"和"/dir/incls"如果您希望将访问控制在⼀个指定的⽬录,那么请在结尾加上斜线。
sql.safe_mode = Off
SYS
是否使⽤SQL安全模式。
如果打开,指定默认值的数据库连接函数将会使⽤这些默认值代替⽀持的参数。对于每个不同数据库的连接函数,其默认值请参考相应的⼿册页⾯。
[PHP-Core-Safe]
allow_url_fopen = On
ini
是否允许打开远程⽂件
allow_url_include = Off
SYS
是否允许include/require远程⽂件。
disable_classes =
ini
该指令接受⼀个⽤逗号分隔的类名列表,以禁⽤特定的类。
disable_functions =
ini
该指令接受⼀个⽤逗号分隔的函数名列表,以禁⽤特定的函数。
enable_dl = On
SYS
是否允许使⽤dl()函数。dl()函数仅在将PHP作为apache模块安装时才有效。
禁⽤dl()函数主要是出于安全考虑,因为它可以绕过open_basedir指令的限制。
在安全模式下始终禁⽤dl()函数,⽽不管此处如何设置。
expose_php = On
ini
小车违章记录查询 是否暴露PHP被安装在服务器上的事实(在http头中加上其签名)。
它不会有安全上的直接威胁,但它使得客户端知道服务器上安装了PHP。
open_basedir =
SYS
将PHP允许操作的所有⽂件(包括⽂件⾃⾝)都限制在此组⽬录列表下。
当⼀个脚本试图打开⼀个指定⽬录树之外的⽂件时,将遭到拒绝。
所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。
特殊值''.''指定了存放该脚本的⽬录将被当做基准⽬录。
但这有些危险,因为脚本的⼯作⽬录可以轻易被chdir()改变。
对于共享服务器,在f中灵活设置该指令将变得⾮常有⽤。
在Windows中⽤分号分隔⽬录,UNIX系统中⽤冒号分隔⽬录。
作为Apache模块时,⽗⽬录中的open_basedir路径将⾃动被继承。
指定的限制实际上是⼀个前缀,⽽⾮⼀个⽬录名,
也就是说"/dir/incl"将允许访问"/dir/include"和"/dir/incls",
如果您希望将访问控制在⼀个指定的⽬录,那么请在结尾加上⼀个斜线。
默认是允许打开所有⽂件。
[PHP-Core-Error]
error_reporting = E_ALL & ~E_NOTICE
memory_limit = 16M
⼀个脚本所能够申请到的最⼤内存字节数(可以使⽤K和M作为单位)。
⼀个脚本所能够申请到的最⼤内存字节数(可以使⽤K和M作为单位)。
这有助于防⽌劣质脚本消耗完服务器上的所有内存。
要能够使⽤该指令必须在编译时使⽤"--enable-memory-limit"配置选项。
如果要取消内存限制,则必须将其设为 -1 。
设置了该指令后,memory_get_usage()函数将变为可⽤。
max_input_time = -1
每个脚本解析输⼊数据(POST, GET, upload)的最⼤允许时间(秒)。
-1 表⽰不限制。
post_max_size = 8M
允许的POST数据最⼤字节长度。此设定也影响到⽂件上传。
如果POST数据超出限制,那么$_POST和$_FILES将会为空。
要上传⼤⽂件,该值必须⼤于upload_max_filesize指令的值。
如果启⽤了内存限制,那么该值应当⼩于memory_limit指令的值。
realpath_cache_size = 16K
SYS
指定PHP使⽤的realpath(规范化的绝对路径名)缓冲区⼤⼩。
在PHP打开⼤量⽂件的系统上应当增⼤该值以提⾼性能。
realpath_cache_ttl = 120
SYS
realpath缓冲区中信息的有效期(秒)。
对⽂件很少变动的系统,可以增⼤该值以提⾼性能。
[PHP-Core-FileUpLoad]
file_uploads = On
SYS
是否允许HTTP⽂件上传。
参见upload_max_filesize, upload_tmp_dir,post_max_size指令
upload_max_filesize = 2M
允许上传的⽂件的最⼤尺⼨。
upload_tmp_dir =
SYS
⽂件上传时存放⽂件的临时⽬录(必须是PHP进程⽤户可写的⽬录)。
如果未指定则PHP使⽤系统默认的临时⽬录。
[PHP-Core-MagicQuotes]
PHP6将取消魔术引号,相当于下列指令全部为 Off
magic_quotes_gpc = On
是否对输⼊的GET/POST/Cookie数据使⽤⾃动字符串转义( ''"NULL )。
这⾥的设置将⾃动影响 $_GEST $_POST $_COOKIE 数组的值。
若将本指令与magic_quotes_sybase指令同时打开,则仅将单引号('')转义为(''''),
其它特殊字符将不被转义,即( "NULL )将保持原样!!
建议关闭此特性,并使⽤⾃定义的过滤函数。
magic_quotes_runtime = Off
是否对运⾏时从外部资源产⽣的数据使⽤⾃动字符串转义( ''"NULL )。
若打开本指令,则⼤多数函数从外部资源(数据库,⽂本⽂件等)返回数据都将被转义。 例如:⽤SQL查询得到的数据,⽤exec()函数得到的数据,等等---www.bianceng 若将本指令与magic_quotes_sybase指令同时打开,则仅将单引号('')转义为(''''),
其它特殊字符将不被转义,即( "NULL )将保持原样!!
建议关闭此特性,并视具体情况使⽤⾃定义的过滤函数。
花溪牛肉粉magic_quotes_sybase = Off
是否采⽤Sybase形式的⾃动字符串转义(⽤ '''' 表⽰ '')
[PHP-Core-HighLight]
highlight.bg ="#FFFFFF"
highlightment ="#FF8000"
highlight.default ="#0000BB"
highlight.html ="#000000"
highlight.keyword ="#007700"
highlight.string ="#DD0000"
灭蝇方法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论