您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2013年08月25日 08:31

原创 解决修改php.ini配置并重启服务器后配置不生效的问题

220 次浏览 读完需要≈ 3 分钟

内容目录

最新,朋友遇到的一个问题:他在更改了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文件的所在位置:

  1. Apache配置文件httpd.conf中的PHPIniDir指令(这里仅列出PHP作为Apache服务器模块的情况)
  2. HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置)
  3. PHPRC 环境变量
  4. 当前工作目录(对于 CLI)
  5. web 服务器目录(对于 SAPI 模块)或 PHP所在目录(Windows 下其它情况)
  6. Windows目录(C:\windows 或 C:\winnt)

朋友虽然更改了C:/Windows下的php.ini文件,不过PHP实际上读取的还是D:/dev/php-5.4.19-Win32-VC9-x86目录下的php.ini文件。因此,朋友在php.ini文件中所作的更改当然是不会生效的。

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论