PHP7 PHP.INI文件配置
PHP的配置文件php.ini是影响PHP功能的最终和直接的方式。每次PHP初始化时都会读取php.ini文件。换句话说,在模块版本中,每次启动httpd时都会重新启动,而在CGI版本中,每次执行脚本时都会重新启动。如果您的更改没有显示出来,请记得停止并重新启动httpd。如果仍然没有显示,请使用phpinfo()检查php.ini的路径。
该配置文件有详细的注释。键名区分大小写,关键字值不区分大小写。空格和以分号开头的行都会被忽略。布尔值可用1/0、Yes/No、On/Off或True/False表示。php.ini-dist中的默认值将导致一个合理的PHP安装,可以稍后调整。
在这里,我们将解释php.ini中的重要设置,这些设置可能对您的PHP解析器有用。
short_open_tag = Off
短标签看起来像这样:<? ?>
。如果要使用XML函数,此选项必须设置为 Off 。
safe_mode = Off
如果此项设置为ON,则可能使用–enable-safe-mode标志编译PHP。安全模式最适合CGI使用。请参阅本章前面部分“CGI编译时选项”的解释。
safe_mode_exec_dir = [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]
此选项设置在安全模式下用户不能更改的环境变量,即使允许安全模式_allowed_env_vars进行设置。
disable_functions = [function1, function2…]
在PHP4配置中新增了的一个受欢迎的功能,并在PHP5中继续存在,就是出于安全原因禁用选定的函数的能力。以前,这必须手动编辑生成PHP的C代码。文件系统、系统和网络函数可能是首先禁用的,因为通过HTTP允许写文件和更改系统永远不是一个安全的想法。
max_execution_time = 30
在安全模式下,函数set_time_limit()
将无法工作。因此,在安全模式下,这是使脚本超时的主要方法。在Windows中,您必须根据最大内存消耗来中止,而不是根据时间。您还可以使用Apache的超时设置进行超时,但这也将适用于站点上的非PHP文件。
error_reporting = E_ALL & ~E_NOTICE
默认值为E_ALL & ~E_NOTICE
,即所有错误的通知都不显示。开发服务器应该设置为至少默认值,只有生产服务器才应考虑较小的值。
error_prepend_string = [” “]
通过设置错误后缀字符串,可以使错误消息与其他文本颜色不同。
warn_plus_overloading = Off
如果在字符串中使用了+运算符,例如表单值,这个设置将发出警告。
variables_order = EGPCS
该配置设置代替了gpc_order。两者现已弃用,以及register_globals。它设置了不同变量的顺序:环境、GET、POST、COOKIE和SERVER(也称为内置变量)。您可以改变这个顺序。变量将按从左到右的顺序逐个覆盖,最右边的变量每次都获胜。这意味着,如果您保留默认设置,并刚好使用相同的名称作为环境变量、POST变量和COOKIE变量,那么COOKIE变量将在处理结束时拥有该名称。在实际生活中,这并不经常发生。
register_globals = Off
该设置允许您决定是否将EGPCS变量注册为全局变量。这已被弃用,并且从PHP4.2开始,默认情况下将此标志设置为Off。请改用超全局数组。本书中的所有主要代码列表都使用了超全局数组。
gpc_order = GPC
此设置已弃用。
magic_quotes_gpc = On
此设置转义传入的GET/POST/COOKIE数据中的引号。如果您使用许多可能提交给自身或其他表单并显示表单值的表单,您可能需要将此指令设置为On或准备使用addslashes()处理字符串类型的数据。
magic_quotes_runtime = Off
此设置转义传入的数据库和文本字符串中的引号。请记住,当存储字符串时,SQL在单引号和撇号上添加斜杠,返回时不会删除它们。如果此设置为Off,则需要在从SQL数据库输出任何类型的字符串数据时使用stripslashes()。如果magic_quotes_sybase设置为On,则必须将其设置为Off。
magic_quotes_sybase = Off
此设置使用Sybase风格的单引号而不是反斜杠转义传入的数据库和文本字符串中的单引号。如果magic_quotes_runtime设置为On,则必须将其设置为Off。
auto-prepend-file = [path/to/file]
如果在此处指定了路径,则PHP必须在每个PHP文件的开头自动包含(include)它。还需要遵守include路径限制。
auto-append-file = [path/to/file]
如果在此处指定了路径,则PHP必须在每个PHP文件的末尾自动包含(include)它,除非使用exit()函数进行转义。还需要遵守include路径限制。
include_path = [DIR]
如果设置了此值,您只能从这些目录中包含或引用文件。包含目录通常位于您的文档根目录下。如果您在安全模式下运行,这是强制性的。将其设置为.in,以便从与您的脚本位于同一目录的文件中引入文件。多个目录用冒号分隔:.:/usr/local/apache/htdocs:/usr/local/lib。
doc_root = [DIR]
如果您使用的是Apache,您已经在httpd.conf中为此服务器或虚拟主机设置了文档根目录。如果您使用安全模式或者只想在您网站的一部分(例如只在一个子目录中)启用PHP,请在此设置该值。
file_uploads = [on/off]
如果您将使用PHP脚本上传文件,请打开此标志。
upload_tmp_dir = [DIR]
除非您了解HTTP上传的含义,否则不要取消注释此行!
session.save-handler = files
除非在特殊情况下,您将不希望更改此设置。因此,请不要触碰它。
ignore_user_abort = [On/Off]
此设置控制当访问者点击浏览器的停止按钮时会发生什么。默认情况下是开启的,这意味着脚本将继续运行直到完成或超时。如果将设置更改为关闭,则脚本会中止。此设置仅在模块模式下工作,不适用于CGI。
mysql.default_host = hostname
如果未指定其他主机名,则连接到数据库服务器时将使用默认服务器主机。
mysql.default_user = username
如果未指定其他用户名,则连接到数据库服务器时将使用默认用户名。
mysql.default_password = password
如果未指定其他密码,则连接到数据库服务器时将使用默认密码。