php配置指令(php.ini)文件说明 (2007-01-10 17:32:58)
分类:PHP程序
PHP有两个配置模板:php.ini-dist和php.ini-recommended。2.1节建议使用后者,因为其中的许多参数都已经设置为推荐值。如果采纳这个建议,在保证安装安全以及调整安装时,就能节省大量的时间和精力,因为这个文件中有大约240个不同的配置参数。
l engine (On, Off)
作用域:PHP_INI_ALL;默认值:On。
这个参数只是负责确定PHP引擎是否可用。如果关闭,就根本不能使用PHP。显然,如果你计划使用PHP,就应当启用这个设置(保持为On)。
l zend.ze1_compatibility_mode (On, Off)
作用域:PHP_INI_ALL;默认值:Off。
出版本书时,PHP 5.0已经发行了18个月,尽管如此,PHP 4.X仍在广泛地使用着。这个升级周期之所以拖延,可以归结于PHP 4和PHP 5之间的一些不兼容性。但是,许多开发人员可能不知道,只需启用zend.ze1_compatibility_mode指令,就可以在PHP 5中顺利地运行PHP 4应用程序,而没有任何问题。因此,要在PHP 5驱动的服务器上使用特定于PHP 4的应用程序,就可以用这个指令。
l short_open_tag (On, Off)
作用域:PHP_INI_ALL;默认值:On。
PHP脚本部分要包围在转义语法中。有4种不同的转义格式,最短的一种就是短开放标记,如下:
你会发现,它与XML的语法相同,有些情况下这会出现问题。因此,提供了一种禁用这种格式的方法。启用short_open_tag(On)时,允许使用短标记;如果禁用short_open_tag(Off),就不允许使用短标记。
l asp_tags (On, Off)
作用域:PHP_INI_ALL;默认值:Off。
PHP支持ASP风格的脚本定界符,如下:
如果你有使用ASP的背景,并且希望继续使用这种定界符语法,就可以启用这个标记。
l precision (integer)
作用域:PHP_INI_ALL;默认值:12。
PHP支持很多数据类型,其中也包括浮点数。precision参数指定在浮点数中显示的有效数字个数。注意这个值在Win32系统中设置为14位,在UNIX下设置为12位。
l y2k_compliance (On, Off)
作用域:PHP_INI_ALL;默认值:Off。
谁会忘记几年前Y2K带来的恐慌呢?为了消除非Y2K兼容(non–Y2K-compliant)
软件所带来的
问题,耗费的精力实在太大了。虽然可能性不太,但确实还有人在使用过时的不兼容浏览器。如果出于一些特殊的原因,你确定有些网站用户的确如此,则要禁用y2k_compliance参数;否则就应启用这个参数。
l output_buffering ((On, Off) 或 output_buffering (integer))
作用域:PHP_INI_SYSTEM;默认值:Off。
有一定PHP经验的人(即使经验很少)可能都非常熟悉下面两个消息:
HTTP首部已经发回给请求用户后,如果脚本还试图修改HTTP首部,此时就会出现这些消息。最常见的情况是,已
经向浏览器发回了一些输出,之后
程序员又试图向用户发送一个cookie。这是不可能实现的,因为HTTP首部(对用户不可见,但浏览器要使用)总是在这些输出的前面。对于这个讨厌的问题,PHP 4.0提供了一个解决办法,引入了输出缓冲(output buffering)的概念。启用输出缓冲时,输出缓冲会告诉PHP在脚本完成后一次发送所有输出。这样,对HTTP首部的任何后续改变都可以通过脚本进行,因为HTTP首部还没有发送出去。启用output_buffering指令将打开输出缓冲。或者还可以设置缓冲区所能包含的最大字节数,来限制输出缓冲区的大小(从而隐含地启用输出缓冲)。
如果不希望使用输出缓冲,就应当禁用这个指令,因为它会使性能稍稍下降。当然,对于HTTP首部问题,最简单的解决方法是尽可能在传送其他内容之前,先传送首部信息。
l output_handler (string)
作用域:PHP_INI_ALL;默认值:Null。
这个有趣的指令告诉PHP,在把输出返回给请求用户之前,将所有输出传