2013-09-25 215 views
1

我想讓PHP加載一些擴展(用於PHP PDO的sqlsrv驅動程序)。 我正在使用一個wamp服務器,使用PHP 5.4,Apache 2.4.4。PHP加載擴展錯誤

在我的php.ini文件,我已經進入下面一行:

extension_dir = C:\wamp\bin\php\php5.4.16\ext 
... 
extension=php_pdo_sqlsrv_54.nts.dll 

然而在Apache的錯誤日誌,每當我重新啓動Apache服務,我得到錯誤信息:

PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.16/ext/php_pdo_sqlsrv_54_nts.dll' - The specified module could not be found.\r\n in Unknown on line 0 

現在,我知道一個事實,這個錯誤是不正確的。如果我直接從錯誤日誌中複製文件位置(C:\ wamp \ bin \ php \ php5.4.16 \ ext \ php_pdo_sqlsrv_54_nts.dll)並將其粘貼到Windows資源管理器中,它會發現文件正常。

我已將ext目錄添加到windows PATH環境變量中,仍然沒有成功。

任何想法接下來要嘗試什麼? 謝謝

+0

當您在啓動時右鍵單擊wamp圖標並導航到PHP,Extension時會看到什麼?你能看到帶有刻度標記的擴展名中的php_pdo嗎? – Vineesh

+0

你有沒有看過你的phpinfo(),以確認它使用正確的PHP來確保你只有一個安裝的PHP是 –

+0

@VineeshPoduval擴展名被打勾,但它仍然會出現相同的'無法加載動態庫'錯誤:( –

回答

1

你的問題是,你正試圖運行一個NTS'不是線程安全的'DLL與'線程安全'的PHP,所以最初嘗試下載sqlsrv DLL的線程安全版本。

BIG注意,可能你的下一個問題的解決方案:

據我所知SQLSERVER數據庫接口的dll只能作爲32位。所以,如果你已經安裝了64位WAMPServer,你將不得不卸載並安裝32位WAMPServer。

+0

對不起,遲到的接受!我已經安裝了64位wampserver,並且發現sqlsrv驅動程序只有32位(很煩人!!),我暫時擱置了它,並且會當我有更多的耐心時再試試! –