2010-04-23 74 views
6

我已經在Windows 7機器上成功安裝了php,但是我無法爲了我的生活而讓它讀取php.ini文件。php.ini不能被Windows 7安裝讀取

我已經取消註釋爲php使用mysql行,當我運行phpinfo(),它永遠不會出現。

我已檢查以確保在整個c:\驅動器上只有一個php.ini文件,它位於我的c:\ windows文件夾中。

有其他人遇到這個問題,並知道解決方案讓PHP讀取.ini,以便我可以啓用一些擴展(MySQL等)?

回答

5

檢查以下內容:

  1. 確保你只有一個php.ini文件。它應該位於與php.exe,php-cgi.exephp-win.exe相同的文件夾中。值得檢查你的c:\windowsc:\windows\system32文件夾。如果您在其中或PATH以外的其他地方找到了php.ini,那麼請將其刪除。

    一個方便的方法來檢查這是從命令提示符運行where php.ini

  2. 加入你的PHP安裝和擴展文件夾複製到系統PATH:例如 - c:\phpc:\php\ext

  3. 編輯您的php.ini文件,並確保extension_dir指令指向擴展文件夾:extension_dir=c:\php\ext

這應該讓你去。如果您仍然發現擴展沒有被加載,請在ext/前加上擴展名。例如:

extension=ext/php_mysql.dll

您不表明如果你使用FastCGI推出PHP。

如果你只是直接映射.php擴展php-cgi.exe,或者你使用FastCGI,但是沒有指定一個monitorChangesTo屬性,那麼你需要殺死任何php-cgi.exe流程,以強制重新讀取任何更改後的php.ini(或做一個IISRESET)。

如果你使用FastCGI在Windows 7(或IIS 7.5一般),那麼你可以觸發FastCGI的回收,只要通過指定的php.ini文件中的monitorChangesTo屬性的路徑你php.ini文件更改。這也可以通過FastCGI Settings applet下的IIS管理器進行配置。

0

我有這個完全相同的錯誤。當我嘗試從命令行運行php -m時,它正在拉起適當的模塊,所以我知道正確的php.ini正在被加載。

但是,在網絡服務器上不管我改變了什麼,它一直在拉我的php根文件夾作爲extension_dir。

我做了幾件事,似乎解決了它。

1,我確定了我的擴展具有IIS_USer讀權限的路徑。我不知道這是否與它的工作有關,因爲這本身沒有任何作用。

第二,我回到IIS管理器,加載了我用來初始設置php處理程序以使用FastCGI的Handler Mappings。我不必真的改變任何東西,但是通過彈出對話框並保存它,它要求確認。 之後,我回到我的phpinfo()頁面,並且提取了有關extensions_dir的正確信息。

我希望這可以幫助路上的人。

+0

升級我的PHP版本後,剛剛遇到同樣的問題,並忘記我改變了文件夾名稱。因此,請確保Handler Mappings中FastCGI模塊的可執行文件路徑正確 – stibay 2017-07-26 07:56:17