即在网络服务器和CLI版本上运行PHP没有使用相同的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
。 这可能是非常常见的使用WAMP的人。
如何改变加载的配置文件进行读取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.ini文件的位置,可以为不同版本的PHP中进行设置。 下面的注册表项进行检查,以便:
- [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目录下(C:\ Windows或C:\ WINNT)(适用于Windows),或--with-配置文件路径编译时选项。
对于CLI,你最好的选择可能是要么设置$PHPRC
环境变量将要执行脚本的帐户,或用不同的编译PHP --with-config-file-path
配置设置。
您也可以通过指定覆盖在每个执行基础php.ini中搜索目录-c
调用PHP时选项:
> php --help
Usage: php [options] [-f] [--] [args...]
...
-c | Look for php.ini file in this directory
通过指定环境变量PHPRC作为一个Apache使用为我工作在Ubuntu指向相同的php.ini
export PHPRC=/etc/php5/apache2/php.ini
或者把它放在$ HOME / .bashrc中导入每次CLI启动
我花了大约3个小时试图做你的问题问什么。 无法做到这一点。 我放弃了,复制的php.ini文件到C:\ Windows和改变了我的ENV变量 “PHPRC” 到C:\ WINDOWS(和在httpd.conf)。 这样,我的两个CLI PHP和PHP APACH e为使用相同的文件。 我不能让“PHP -m”,直到我做了这个改变,以显示我已经在我的php.ini为我的生活加载的模块...
尝试运行phpinfo()
在两侧功能
Web服务器和CLI,并找出你的确切位置php.ini
文件两侧
只有保持这些文件