PHP在Windows中忽略了它的php.ini

时间:2015-08-30 15:22:59

标签: php windows settings php-ini

我在我的Windows主机系统上使用PHP composer。尝试将parse/php-sdk添加到项目失败后(因为SDK需要启用PHP cURL模块),我更新了PHP设置。但它并没有解决问题。然后我检查了php.ini设置是否正确:

C:\Users\me>php --info | grep "extension_dir"
extension_dir => ext => ext
C:\Users\me>php --info | grep "php.ini"
Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => C:\Program Files\php-5.6.8-Win32-VC11-x64\php.ini

是的,他们是。没有C:\Windows\php.ini,但没关系 - C:\Program Files\php-5.6.8-Win32-VC11-x64\php.ini是我更新的文件并且已加载。

然后我打印了模块列表(php --modules)并注意到它与加载的php.ini中的扩展设置没有任何共同之处。我还尝试更改其他设置(例如memory_limit),但PHP似乎忽略了我的php.ini并从其他地方加载配置。

如何检测这个神奇的“某处”(意思是:PHP实际加载其设置的地方)以及如何使其从定义的文件中加载所需的设置?

1 个答案:

答案 0 :(得分:-1)

问题是由于php.ini正在由编辑器编辑而不是使用提升的权限运行。如果PHP文件夹位于“Program Files”中,则必须使用admin权限访问其中的文件。 我发现了令人难以置信的事实,即使编辑器正确显示,即使关闭/打开,更改也不会保存到php.ini中! 这可以通过检查php.ini内容 - 从命令行运行more "C:\Program Files\... ...\php.ini"来简单验证。

解决方案显而易见 - 您必须使用提升的权限运行编辑器,或者使用php.ini向文件夹授予用户权限,然后进行编辑。