簡體   English   中英

致命錯誤-未找到“ Mongo”類

[英]Fatal Error - 'Mongo' class not found

我正在嘗試執行此操作:

<?php

// connect
$m = new Mongo();

?>

但是我收到以下錯誤:

致命錯誤:在C:\\ wamp \\ www .....中找不到類'Mongo'


信息:

  • 的PHP:5.38
  • MongoDB:mongodb-win32-i386-2.0.2
  • MongoDB PHP驅動程序:mongo-1.1.4-php5.3vc6ts
  • WampServer:2.2
  • 操作系統:Windows 7 Enterprise SP1

我已經很好地遵循了MongoDB的安裝要求(包括將DLL添加到ext和php.ini中),我已經啟動了mongod.exe,WAMP正在運行。

這意味着缺少/不正確是什么意思?


編輯:

我已經在另一台Windows 7計算機(Windows 7 Professional)上運行它。 那讓我感到好奇。 因此,現在我的Windows 7 Enterprise SP1計算機具有與http.conf相同的http.confphp.iniC:\\wamp\\bin\\mongodb內容(因此DB是完全相同的)和完全相同的批處理文件來啟動mongod.exe專業機器。

但是,我在Win7 Enterprise SP1計算機上所能做的就是通過命令行連接。 我的Win7 Professional計算機的phpinfo()包含:
php.ini中的Mongo部分 我的Win7 Enterprise SP1計算機沒有任何對MongoDB的引用。

我用來啟動MongoDB的批處理文件的內容:

"C:\wamp\bin\mongodb\bin\mongod.exe" --logpath "C:\wamp\bin\mongodb\logs\error.log" --logappend --dbpath "C:\wamp\bin\mongodb\data\db" --directoryperdb --service
Net Start "MongoDB"
pause

問題出在PHP驅動程序( php_mongo.dll )。 由於某些原因,Apache / WAMP只是不喜歡mongo-1.1.4-php5.3vc6ts版本。 我的Windows 7 Professional計算機具有mongo-1.2.5-php5.3vc9ts版本。 那是兩台機器之間的唯一區別。

我最初一直在Windows 7 Enterprise計算機上使用mongo-1.2.5-php5.3vc9ts版本的驅動程序,但是在對問題進行故障排除時,更改為mongo-1.1.4-php5.3vc6ts版本。 因此,最初的問題實際上可能只是數據庫路徑data\\db不存在/找不到(並且在運行/啟動mongod.exe時需要使用--dbpath進行指定)。

如果php CLI中存在此問題,則應將extension=mongo.so添加到/etc/php5/cli/php.ini文件中

在Ubuntu上,我使用了本教程 安裝完成后,回顯phpinfo()並使用“掃描此目錄是否有其他.ini文件”來檢查mongo.ini文件是否位於phpinfo中提到的正確目錄中。

在phpinfo頁面中查看您的PHP二進制文件的確切編譯器名稱,然后嘗試重新安裝基於相同編譯器構建的mongo驅動程序。

http://www.php.net/manual/zh/mongo.installation.php#mongo.installation.windows

您正在使用帶有線程安全的Visual Studio 6上的mongo驅動程序。 (vs6ts表示)

類似的問題是由編譯器問題引起的。

http://www.php.net/manual/zh/mongo.installation.php#104223

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM