内容目录
最新,朋友遇到的一个问题:他在更改了php.ini
配置文件后,重新启动Apache服务器,结果发现更改的配置并没有生效。朋友再三检查,修改的配置部分并没有发现任何错误。那么问题到底出在哪里呢?
初步检查后,确实没有发现任何配置错误,不过,在检查的过程中意外地发现,朋友的电脑中存在多个名为php.ini
的文件。
朋友的Apache中的httpd.conf
文件中有如下配置行:
PHPIniDir D:/dev/php-5.4.19-Win32-VC9-x86
在朋友电脑的D:/dev/php-5.4.19-Win32-VC9-x86
目录中确实存在一个php.ini
文件,不过,在目录C:/Windows
中也存在一个php.ini文件,而朋友修改的php.ini
文件恰好是C:/Windows
目录下的。
经过查询官方文档资料得知,在启动服务器时,PHP将按照如下顺序查找php.ini
文件的所在位置:
- Apache配置文件httpd.conf中的PHPIniDir指令(这里仅列出PHP作为Apache服务器模块的情况)
- HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置)
- PHPRC 环境变量
- 当前工作目录(对于 CLI)
- web 服务器目录(对于 SAPI 模块)或 PHP所在目录(Windows 下其它情况)
- Windows目录(C:\windows 或 C:\winnt)
朋友虽然更改了C:/Windows下的php.ini文件,不过PHP实际上读取的还是D:/dev/php-5.4.19-Win32-VC9-x86
目录下的php.ini
文件。因此,朋友在php.ini
文件中所作的更改当然是不会生效的。
0 条评论
撰写评论