我已经在Windows7机器上成功安装了php,但我终生无法让它读取php.ini文件。
我取消注释掉了让php使用mysql的代码行,当我运行phpinfo()时,它永远不会出现。
我已检查以确保在我的整个c:\驱动器上只有一个php.ini文件,并且它位于我的c:\windows文件夹中。
有没有其他人遇到过这种情况,并知道一个解决方案,让php读取.ini,这样我就可以启用一些扩展(mysql等)?
发布于 2010-04-25 14:06:34
检查以下内容:
php.ini文件。它应该与php.exe、php-cgi.exe和php-win.exe在同一个文件夹中。检查你的c:\windows和c:\windows\system32文件夹是值得的。如果您在其中或PATH上除PHP install文件夹之外的任何其他位置找到了php.ini,则将其删除。检查这一点的一种简便方法是在命令提示符下运行where php.ini。
PHP和c:\php\ext将安装和扩展文件夹添加到系统PATH:例如- c:\php和PHP
extensions扩展编辑php.ini文件并确保extension_dir指令指向extensions文件夹:
这应该能让你振作起来。如果您仍然发现扩展没有被加载,那么在扩展前面加上ext/。例如:
extension=ext/php_mysql.dll
您没有指明是否正在使用FastCGI启动PHP。
如果您只是将.php扩展直接映射到php-cgi.exe,或者您正在使用FastCGI但没有指定monitorChangesTo属性,那么您需要杀死任何php-cgi.exe进程,以便在任何更改之后强制重新读取php.ini (或者执行IISRESET)。
如果您在Windows7(通常是IIS7.5)上使用FastCGI,那么只要您的php.ini文件发生更改,您就可以通过在monitorChangesTo属性中指定php.ini文件的路径来触发FastCGI的回收。这也可以通过FastCGI设置小程序下的IIS管理器进行配置。
发布于 2013-06-22 12:18:42
我也遇到了同样的错误。当我尝试从命令行运行php -m时,它会拉出相应的模块,所以我知道加载的是正确的php.ini。
然而,在php服务器上,不管我做了什么更改,它都会将我的php根文件夹作为extension_dir。
我做了几件事,它似乎解决了这个问题。
首先,我确保path my extensions具有IIS_USer read权限。我不知道这是否与它的工作有关,因为这本身没有任何作用。
第二步,我回到了IIS管理器,加载了我用来初始设置php处理程序以使用FastCGI的处理程序映射。我实际上并不需要改变任何东西,但是通过调出对话框并保存它,它会要求确认。在那之后,我返回到我的phpinfo()页面,它拉出了关于extensions_dir的正确信息。
我希望这对以后的人有所帮助。
https://stackoverflow.com/questions/2702257
复制相似问题