2013-02-09 65 views
3

我已經從https://github.com/mongodb/mongo-php-driver/downloads下載了php_mongo-1.3.2RC1.zip 然後我已經將它們全部解壓到我的C:\xampp\php\ext目錄中。要通過位於'C:\ xampp \ htdocs \ index.php'目錄中的php文件來使用mongodb,我已將extension=php_mongo-1.3.2RC1-5.2-vc9.dll此行添加到C:\xampp\php\php.ini在PHP中找不到MongoClient

但我有這個錯誤Fatal error: Class 'MongoClient' not found。我能做些什麼來使它工作?

我在php 5.2上運行的windows 8 64 bit上使用Xampp

我試圖寫在cmdphp和它返回以下行:

Warning: PHP Startup: mongo: Unable to initialize module 
Module compiled with module API=20060613 
PHP compiled with module API=20100525 
These options need to match 
in Unknown on line 0 

我試圖phpinfo()爲@ j0k已經問過了,它返回:

Configuration File (php.ini) Path C:\Windows 
Loaded Configuration File C:\xampp\php\php.ini 
+0

您是否編輯過正確的php.ini? – j0k 2013-02-09 08:16:37

+0

@ j0k,我們有多個php.ini嗎? :S – sadaf2605 2013-02-09 09:52:43

+1

是的,它可以發生。你修改了哪一個?另外,如果你能看到'mongo'這個部分,可以用'phpinfo()'來檢查。 – j0k 2013-02-09 09:53:41

回答

1

我想你使用php 5.4(來自我的網絡服務器的信息):

$ php -v; phpize -v 
PHP 5.4.11 (cli) (built: Feb 10 2013 03:38:26) 
Copyright (c) 1997-2013 The PHP Group 
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies 
Configuring for: 
PHP Api Version:   20100412 
Zend Module Api No:  20100525 
Zend Extension Api No: 220100525 

API模塊版本相同。

… 
Module compiled with module API=20060613 
… 

這是php 5.2(從源代碼):

$ grep '#define ZEND_MODULE_API_NO' php-src-php-5.2.17/Zend/zend_modules.h| sed 's/#define ZEND_MODULE_API_NO//' 
20060613 

檢查你的PHP版本(php -v; phpize -v)和安裝PHP-蒙戈驅動器。您可以在phpinfo();推薦; PHP API,PHP擴展,Zend擴展,線程安全)中看到版本

+0

謝謝,這有幫助!我有兩個版本的PHP使用PHP 5.6.13和5.4.45;切換到5.4.45,現在一切正常。 – 2015-09-19 18:54:54

1

嘗試重新啓動Apache。編輯時,Apache不會嘗試重新加載配置。對於xampp,您可以在關機或重新啓動時執行此操作,只要我記得正確。替代你可以重新啓動你的電腦

6

試試這個:

pear install -f pecl/mongo 
0

this頁:

注:其他DLL依賴於Windows用戶:

爲了這個擴展工作,有Windows系統必須可用的DLL文件路徑