在网络服务器上运行的php和CLI版本未使用相同的php.ini文件。如果我执行命令php --ini,则显示此
php --ini
Configuration File (php.ini) Path: C:\Windows Loaded Configuration File: C:\wamp\bin\php\php5.3.8\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
而我的网络版本在中使用php.ini C:\wamp\bin\apache\Apache2.2.21\bin\php.ini。对于使用沼泽的人来说,这可能很常见。
C:\wamp\bin\apache\Apache2.2.21\bin\php.ini
如何更改读取的加载配置文件,C:\wamp\bin\apache\Apache2.2.21\bin\php.ini这样我就不必维护2个不同的php.ini版本?
每个http://php.net/configuration.file:
在以下位置搜索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 \ xyz],[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy]和[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x],其中x,y和z表示PHP主要,次要和发行版本。如果这些键中的任何一个都有IniFilePath的值,则找到的第一个键将用作php.ini的位置(仅Windows)。 [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP],IniFilePath的值(仅Windows)。 当前工作目录(CLI除外)。 Web服务器的目录(用于SAPI模块),或PHP的目录(在Windows中,否则)。 Windows目录(对于Windows,是C:\ windows或C:\ winnt),或–with-config-file- path编译时间选项。
在以下位置搜索php.ini(按顺序):
对于CLI,最好的选择可能是为$PHPRC将要执行脚本的帐户设置环境变量,或者使用其他--with-config-file- path配置设置重新编译PHP 。
$PHPRC
--with-config-file- path
您还可以通过-c在调用PHP时指定选项来逐执行覆盖php.ini搜索目录:
-c
> PHP-帮助 用法:php [选项] [-f] [-] [args ...] ... -c | 在此目录中查找php.ini文件