php.ini没有被Windows 7安装阅读

时间:2010-04-23 22:07:40

标签: iis-7 windows-7 php

我已经在Windows 7机器上成功安装了php,但是我不能在生活中让它读取php.ini文件。

我已经取消注释了php使用mysql的行,当我运行phpinfo()时,它从未显示出来。

我已经检查过以确保我的整个c:\驱动器上只有一个php.ini文件,它位于我的c:\ windows文件夹中。

有没有其他人遇到这个并知道一个解决方案,让php读取.ini,以便我可以启用一些扩展(mysql等)?

2 个答案:

答案 0 :(得分:5)

检查以下内容:

  1. 确保您只有一个php.ini文件。它应与php.exephp-cgi.exephp-win.exe位于同一文件夹中。值得检查您的c:\windowsc:\windows\system32文件夹。如果您在{安装文件夹'以外的php.ini中找到PATH或其他任何位置,请删除它们。

    检查此方法的一种方便方法是从命令提示符运行where php.ini

  2. 将PHP安装和扩展文件夹添加到系统PATH:例如 - c:\phpc:\php\ext

  3. 修改php.ini文件并确保extension_dir指令指向扩展程序文件夹:extension_dir=c:\php\ext

  4. 这应该让你去。如果您仍然发现未加载扩展程序,请在扩展名前添加ext/。例如:

    extension=ext/php_mysql.dll

    您没有说明您是否使用FastCGI来启动PHP。

    如果您只是将.php扩展程序直接映射到php-cgi.exe,或者您使用的是FastCGI但尚未指定monitorChangesTo属性,那么您需要删除任何{{1} }}进程强制在任何更改后重新读取php-cgi.exe(或执行php.ini)。

    如果您在Windows 7(或通常是IIS 7.5)上使用FastCGI,那么只要IISRESET文件发生更改,您就可以通过指定php.ini文件的路径来触发FastCGI的回收{1}}属性。这也可以通过FastCGI设置小程序下的IIS管理器进行配置。

答案 1 :(得分:0)

我遇到了同样的错误。当我尝试从命令行运行php -m时,它正在启动相应的模块,所以我知道正在加载正确的php.ini。

然而,在网络服务器上,无论我改变什么,它都会继续将我的php根文件夹拉为extension_dir。

我做了几件事似乎解决了。

1,我确保我的扩展路径具有IIS_USer读取权限。我不知道这是否与它起作用有关,因为它本身没有做任何事情。

第二,我回到IIS管理器,加载了我用来初步设置php处理程序以使用FastCGI的Handler Mappings。我没有必要改变任何东西,但是通过调出对话框并保存它,它要求确认。 之后,我回到了我的phpinfo()页面,它提取了有关extensions_dir的正确信息。

我希望这可以帮助有人在路上。