我正在为一些服务器创建配置脚本,其中一部分需要加载自定义版本的 php.ini。该脚本是否应该替换内置的 php.ini 文件,还是在 conf.d 中创建一个自定义配置文件并只进行必要的更改?
这些变化主要针对安全设置。
答案1
简而言之:如果您只想更改某些设置,请复制并修改必要的部分。
配置php.ini
文件按此顺序搜索(引文缩写)。使用第一个匹配项。
- SAPI 模块特定位置(
PHPIniDir
/-c
/php_ini
/PHP_INI_PATH
)- 环境
PHPRC
变量。(> PHP 5.2.0)- 特定于版本的
IniFilePath
Windows 注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z]
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y]
[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x]
IniFilePath
在[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]
- 当前工作目录(CLI 除外)。
- Web 服务器的目录(用于 SAPI 模块)或 PHP 的目录(在 Windows 中除外)。
- Windows 目录,或
--with-config-file-path
编译时选项。
(不用说,但所有具有 Windows 名称景观的东西只适用于 Windows。)
因此,您应该在结果中设置所有参数php.ini
;如果未设置指令,它将恢复为其原始默认值,而不是另一个中指定的值php.ini
。