Iis 7 安装windows 7时未读取php.ini

Iis 7 安装windows 7时未读取php.ini,iis-7,windows-7,php,Iis 7,Windows 7,Php,我已经在Windows7机器上成功安装了php,但我无法让它读取php.ini文件 我已经取消了php使用mysql的注释,当我运行phpinfo()时,它从未出现过 我已经检查过,以确保在我的整个c:\驱动器上只有一个php.ini文件,并且它位于我的c:\ windows文件夹中 有没有其他人遇到过这种情况,并且知道一种让php读取.ini的解决方案,这样我就可以启用一些扩展(mysql等)?检查以下内容: 确保只有一个php.ini文件。它应该与php.exe、php cgi.exe和ph

我已经在Windows7机器上成功安装了php,但我无法让它读取php.ini文件

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

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

有没有其他人遇到过这种情况,并且知道一种让php读取.ini的解决方案,这样我就可以启用一些扩展(mysql等)?

检查以下内容:

  • 确保只有一个
    php.ini
    文件。它应该与
    php.exe
    php cgi.exe
    php win.exe
    位于同一文件夹中。值得检查您的
    c:\windows
    c:\windows\system32
    文件夹。如果您在那里或
    路径
    上除php安装文件夹以外的任何地方发现
    php.ini
    ,请删除它们

    检查这一点的一个简便方法是从命令提示符运行
    where php.ini

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

  • 编辑
    php.ini
    文件,并确保
    extension\u dir
    指令指向extensions文件夹:
    extension\u dir=c:\php\ext

  • 这会让你走的。如果仍发现未加载扩展,请在扩展前面加上
    ext/
    。例如:

    extension=ext/php\u mysql.dll

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

    如果您只是将
    .php
    扩展直接映射到
    php cgi.exe
    ,或者您使用的是FastCGI,但没有指定
    monitorChangesTo
    属性,那么您需要杀死任何
    php cgi.exe
    进程,以在任何更改后强制重新读取
    php.ini
    (或者执行
    IISRESET


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

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

    然而,在Web服务器上,无论我做了什么更改,它都会不断地将我的php根文件夹作为扩展目录_dir

    我做了几件事,似乎都解决了

    首先,我确保我的扩展名路径具有IIS_用户读取权限。我不知道这是否与它的工作有关,因为它本身没有任何作用

    第二,我回到IIS管理器,加载了最初用于设置php处理程序以使用FastCGI的处理程序映射。我不需要实际更改任何内容,但通过打开对话框并保存它,它要求确认。 之后,我回到我的phpinfo()页面,它调出了关于扩展目录的正确信息


    我希望这对以后的人有所帮助。

    升级我的php版本后遇到了同样的问题,忘记了我更改了文件夹名称。因此,在处理程序映射中,确保FastCGI模块上的可执行文件路径正确