PHP.INI 文件配置


PHP 配置文件 php.ini 是影响 PHP 功能的最终也是最直接的方法。每次 PHP 初始化时都会读取 php.ini 文件。换句话说,每当为模块版本重新启动 httpd 或为 CGI 版本执行每个脚本时,都会读取 php.ini 文件。如果您的更改没有显示,请记住停止并重新启动 httpd。如果仍然没有显示,请使用 phpinfo() 检查 php.ini 的路径。

配置文件有很好的注释并且很全面。键区分大小写,关键字值不区分大小写;空格和以分号开头的行将被忽略。布尔值可以用 1/0、是/否、开/关或真/假来表示。php.ini-dist 中的默认值将导致合理的 PHP 安装,稍后可以进行调整。

在这里,我们解释 php.ini 中的重要设置,您的 PHP 解析器可能需要这些设置。

Short_open_tag = 关闭

短开放标签如下所示:<? ?>。如果您想使用 XML 函数,则必须将此选项设置为“关闭”。

安全模式=关闭

如果将此设置为 On,您可能使用 --enable-safe-mode 标志编译 PHP。安全模式与 CGI 使用最相关。请参阅“CGI 编译时选项”部分中的说明。本章前面的内容。

safe_mode_exec_dir = [目录]

仅当安全模式打开时,此选项才相关;它也可以在 Unix 构建过程中使用 --with-exec-dir 标志进行设置。安全模式下的 PHP 仅执行该目录之外的外部二进制文件。默认为 /usr/local/bin。这与提供普通的 PHP/HTML 网页无关。

safe_mode_allowed_env_vars = [PHP_]

此选项设置用户可以在安全模式下更改哪些环境变量。默认值仅是那些前缀为“PHP_”的变量。如果该指令为空,则大多数变量都是可更改的。

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]

此选项设置用户在安全模式下无法更改哪些环境变量,即使已允许设置 safe_mode_allowed_env_vars

禁用功能 = [功能 1, 功能 2...]

PHP4 配置中一项受欢迎的新增功能以及 PHP5 中的一项功能是出于安全原因禁用选定功能的能力。以前,这需要手动编辑 PHP 的 C 代码。文件系统、系统和网络功能可能应该是第一个被删除的,因为允许通过 HTTP 写入文件和更改系统的功能从来都不是一个安全的想法。

最大执行时间 = 30

函数 set_time_limit() 在安全模式下不起作用,因此这是使脚本在安全模式下超时的主要方法。在 Windows 中,您必须根据消耗的最大内存而不是时间来中止。如果您使用 Apache,您还可以使用 Apache 超时设置来超时,但这也适用于站点上的非 PHP 文件。

错误报告 = E_ALL & ~E_NOTICE

默认值为E_ALL & ~E_NOTICE,除通知之外的所有错误。开发服务器至少应设置为默认值;只有生产服务器才应该考虑较小的值

error_prepend_string = [“ ”]

通过它的书挡 error_append_string,此设置允许您将错误消息设置为与其他文本或其他文本不同的颜色。

warn_plus_overloading = 关闭

如果 + 运算符与字符串一起使用(如在表单值中),则此设置会发出警告。

变量顺序 = EGPCS

此配置设置取代 gpc_order。两者现在都与 register_globals 一起被弃用。它设置不同变量的顺序:Environment、GET、POST、COOKIE 和 SERVER(又名内置变量)。您可以更改此顺序。变量将按照从左到右的顺序依次被覆盖,每次最右边的变量都会获胜。这意味着,如果您保留默认设置并且碰巧对环境变量、POST 变量和 COOKIE 变量使用相同的名称,则 COOKIE 变量将在进程结束时拥有该名称。在现实生活中,这种情况并不多发生。

注册全局=关闭

此设置允许您决定是否希望将 EGPCS 变量注册为全局变量。现在已弃用此选项,从 PHP4.2 开始,此标志默认设置为 Off。请改用超全局数组。本书中的所有主要代码清单都使用超全局数组。

gpc_order = GPC

此设置已被 GPC 弃用。

magic_quotes_gpc = 开

此设置转义传入 GET/POST/COOKIE 数据中的引号。如果您使用大量可能提交给自身或其他表单并显示表单值的表单,则可能需要将此指令设置为 On 或准备对字符串类型数据使用addslashes()。

magic_quotes_runtime = 关闭

此设置转义传入数据库和文本字符串中的引号。请记住,SQL 在存储字符串时会向单引号和撇号添加斜杠,并且在返回字符串时不会将它们删除。如果此设置为 Off,则在从 SQL 数据库输出任何类型的字符串数据时,您将需要使用 stripslashes()。如果 magic_quotes_sybase 设置为 On,则必须为 Off。

magic_quotes_sybase = 关闭

此设置使用 Sybase 样式的单引号而不是反斜杠转义传入数据库和文本字符串中的单引号。如果 magic_quotes_runtime 设置为 On,则必须为 Off。

自动前置文件 = [路径/目标/文件]

如果此处指定了路径,PHP 必须自动将其包含在每个 PHP 文件的开头。包括路径限制确实适用。

自动追加文件 = [路径/目标/文件]

如果此处指定了路径,PHP 必须在每个 PHP 文件的末尾自动包含()它。除非您使用 exit()函数进行转义。包括路径限制确实适用。

包含路径 = [DIR]

如果设置此值,则只允许您包含或需要这些目录中的文件。include 目录通常位于您的文档根目录下;如果您在安全模式下运行,这是强制性的。将其设置为 . 为了包含脚本所在目录中的文件。多个目录用冒号分隔:.:/usr/local/apache/htdocs:/usr/local/lib。

doc_root = [目录]

如果您使用 Apache,则您已经在 httpd.conf 中为此服务器或虚拟主机设置了文档根目录。如果您使用安全模式或者您只想在站点的一部分(例如,仅在 Web 根目录的一个子目录中)启用 PHP,请在此处设置此值。

file_uploads = [开/关]

如果您将使用 PHP 脚本上传文件,请打开此标志。

upload_tmp_dir = [目录]

除非您了解 HTTP 上传的含义,否则请勿取消注释此行!

session.save-handler = 文件

除非在极少数情况下,您不会想要更改此设置。所以不要碰它。

ignore_user_abort = [开/关]

此设置控制网站访问者单击浏览器的“停止”按钮时会发生的情况。默认值为“打开”,这意味着脚本继续运行直至完成或超时。如果设置更改为“关闭”,脚本将中止。此设置仅适用于模块模式,不适用于 CGI。

mysql.default_host = 主机名

如果未指定其他主机,则连接到数据库服务器时使用的默认服务器主机。

mysql.default_user = 用户名

如果未指定其他名称,则连接到数据库服务器时使用的默认用户名。

mysql.default_password = 密码

如果未指定其他密码,则连接到数据库服务器时使用的默认密码。

php_environment.htm