php配置文件解读

配置文件。

配置文件 php.ini 在 PHP 启动时被读取,对于服务器模块版本的PHP,仅在 web 服务器启动时读取一次。对于 .CGI.CLI 的版本,每次调用都会读取。

php.ini 的搜索路径如下(按顺序):

  • SPAI 模块所指定的位置(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_MACHINESOFTWAREPHPx.y.z] ,[HKEY_LOCAL_MACHINESOFTWAREPHPx.y] 和 [HKEY_LOCAL_MACHINESOFTWAREPHPx],其中的 x,y 和 z 指的是 PHP 主版本号,次版本号和发行批次。如果在其中任何目录下的 IniFilePath 有键值,则第一个值将被用作 php.ini 的位置(仅适用于 windows)。


  • [HKEY_LOCAL_MACHINESOFTWAREPHP] 内 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() 来测定。

自 PHP 5.1.0 起,有可能在 .ini 文件内引用已存在的 .ini 变量。例如:open_basedir = ${open_basedir} ":/new/dir"。

配置可被设定范围。

模式含义
PHP_INI_USER可在用户脚本或 Windows注册表(自php 5.3起) 以及 .user.ini 中设定。
PHP_INI_PERDIR可在php.ini,.htaccess 或 http.conf 中设定
PHP_INI_SYSTEM可在 php.ini 或 httpd.conf 中设定
PHP_INI_ALL可以在任何地方设定

Snail's Blog
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本博客使用免费开源的 laravel-bjyblog v5.5.1.3 -develop 搭建 © 2014-2018 www.snail-c.cn 版权所有 ICP证:蜀ICP备18023253号-1
  • 联系邮箱:459921737@qq.com