配置文件(php.ini)在 php 启动时被读取。对于服务器模块版本的 php,仅在 web 服务器启动时读取一次。对于cgi和cli版本,每次调用都会读取。
php.ini的搜索路径如下(按顺序):
sapi 模块所指定的位置(apache 2 中的 phpinidir 指令,cgi 和 cli 中的 -c 命令行选项,nsapi 中的php_ini 参数,thttpd 中的 php_ini_path 环境变量)。 phprc环境变量。在 php 5.2.0之前,其顺序在以下提及的注册表键值之后。 自 php 5.2.0 起,可以为不同版本的 php 指定不同的 php.ini文件位置。将以下面的顺序检查注册表目录:[hkey_local_machine\software\php\x.y.z],[hkey_local_machine\software\php\x.y] 和 [hkey_local_machine\software\php\x],其中的x,y 和 z 指的是 php 主版本号,次版本号和发行批次。如果在其中任何目录下的inifilepath 有键值,则第一个值将被用作php.ini 的位置(仅适用于 windows)。(php视频教程) [hkey_local_machine\software\php] 内 inifilepath 的值(windows 注册表位置)。 当前工作目录(对于 cli)。 web 服务器目录(对于 sapi 模块)或 php 所在目录(windows 下其它情况)。 windows 目录(c:\windows或c:\winnt),或--with-config-file-path 编译时选项指定的位置。 如果存在php-sapi.ini(sapi 是当前所用的 sapi名称,因此实际文件名为php-cli.ini或php-apache.ini等),则会用它替代php.ini。sapi 的名称可以用 php_sapi_name() 来测定。
note:
apache web 服务器在启动时会把目录转到根目录,这将导致 php 尝试在根目录下读取php.ini,如果存在的话。
note:
在php.ini中可以使用环境变量。
由扩展库处理的php.ini指令,其文档分别在各扩展库的页面。内核配置选项见附录。不过也许不是所有的 php 指令都在手册中有文档说明。要得到自己的 php 版本中的配置指令完整列表,请阅读php.ini文件,其中都有注释。此外,也许从 git 得到的最新版php.ini 也有帮助。
example #1php.ini例子
; any text on a line after an unquoted semicolon (;) is ignored[php] ; section markers (text within square brackets) are also ignored; boolean values can be set to either:; true, on, yes; or false, off, no, noneregister_globals = offtrack_errors = yes; you can enclose strings in double-quotesinclude_path = .:/usr/local/lib/php; backslashes are treated the same as any other characterinclude_path = .;c:\php\lib
自 php 5.1.0 起,有可能在 .ini 文件内引用已存在的 .ini 变量。例如:open_basedir = ${open_basedir} :/new/dir。
以上就是php主配置文件是什么的详细内容。