2011-09-16 52 views
5

我一直收到這個錯誤(來自apache日誌),我無法得到加載了mongo和wamp的32位版本的php_mongo.dll模塊。如何讓MongoDB使用php 5.3.5和wamp?

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

請告訴我最無奈的是,我可以看到該文件坐在確切目錄錯誤消息告訴我它無法找到它!我已經重新檢查了php.ini的編輯是正確的,但我仍然無法在php啓動時加載模塊。任何想法是'未知在線0'中的\ r \ n可能對應於什麼?

PHP 5.3.5 的Apache 2.2.17 Windows 7的

謝謝!

+0

在確保模塊標記爲從CLI加載的同時,從命令行調用PHP。你應該得到一個消息框,提供更多的信息,爲什麼無法加載庫。 – hakre

+0

感謝您的回覆。我剛剛刪除了wamp,並手動安裝/配置了apache 2.2和php 5.3,而不使用mysql來查看它是否是wamp問題。我仍然遇到同樣的錯誤 - 即使加載CLI時彈出的消息框顯示粘貼在那裏的相同信息。 「PHP啓動:無法加載動態庫'g:/php/ext/php_mongo.dll' - 找不到指定的模塊。」 – Kiada

+0

你是否按照此頁上列出的所有說明:http://www.mongodb.org/display/DOCS/Quickstart+Windows – Petrogad

回答

8

確保您使用mongodb擴展插件的線程安全版本。在使用非線程安全版本時,我偶然發現了完全相同的錯誤。

要下載正確的擴展,請參閱:http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows

最有可能的,你需要的VC9(線程安全)版本。

+2

+1。從https://github.com/mongodb/mongo-php-driver/downloads獲取驅動程序,然後安裝以「ts」結尾的文件夾(用於線程安全)。 –

+1

只是爲上面的答案帶來一些更新的信息:下載最新的軟件包後,我最終得到了4個文件,其名稱分別以vc9,vc9-nts,vc9-x86_64和vc9-nts-x86_64結尾。前兩個不被Windows視爲「有效的Win32應用程序」,最後一個導致WAMP無法加載php5.dll和Mongo擴展DLL本身。使用第三個工作得很好。我在Windows 7 64位。有點懷疑「nts」是指「不是線程安全的」,但這只是愚蠢的,對吧? – neemzy

1

php_mongo-1.4.3-5.3-VC9-x86_64.dll爲我工作的WAMP 2.2,PHP 5.3.8,Windows 7的64位

這些新版本

php_mongo-1.4.3-5.5 -vc11-x86_64.dll

php_mongo-1.4.3-5.4-VC9-x86_64.dll

並沒有爲我工作。 他們給出了同樣的錯誤:'無法加載動態庫 - 指定的過程找不到'。

而且 - 確保MongoDB的數據庫進程每本網頁上運行: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/

1

我在XAMPP了同樣的錯誤。我已經嘗試使用老版本的線程安全mongodb,它工作。