致命错误:在第 11 行的 E:\xampp\htdocs\teach\mongo\index.php 中找不到类 'MongoClient' - Mongodb + XAMPP

Posted

技术标签:

【中文标题】致命错误:在第 11 行的 E:\\xampp\\htdocs\\teach\\mongo\\index.php 中找不到类 \'MongoClient\' - Mongodb + XAMPP【英文标题】:Fatal error: Class 'MongoClient' not found in E:\xampp\htdocs\teach\mongo\index.php on line 11 - Mongodb + XAMPP致命错误:在第 11 行的 E:\xampp\htdocs\teach\mongo\index.php 中找不到类 'MongoClient' - Mongodb + XAMPP 【发布时间】:2014-01-07 20:54:02 【问题描述】:

我下载了 Mongodb - 已安装 -> 创建 bat 文件 -> 创建 Data/db 文件夹 -> 在 cmd 中工作正常 然后,从 GitHib 版本 5.3 TS VC6 下载 php 驱动程序。 在“xampp/php/ext”中复制“php_mongo.dll” 然后编辑“xampp/php/php.ini” - extension=php_mongo.dll 重新启动 Apache - 停止并启动 检查 [http://localhost/xampp/] -> phpinfo() -> 显示“mongo”

我运行下面的代码并得到错误 "致命错误:在第 11 行的 E:\xampp\htdocs\teach\mongo\index.php 中找不到类 'MongoClient'" 一次又一次

请帮忙

测试正在运行

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>C MongoDB Insert</title>
    </head>
    <body>
<?php
echo '<pre>';
// Connect to the MongoD with defaults which are localhost and port 27017)  
$m = new MongoClient();
echo '<br />Connection var dump below <br />';
var_dump($m);
// Use a DataBase (will be created if it doesn't exist)
echo '<br />database var dump below <br />';
$db = $m->demodb;
var_dump($db);
// Use a Collection (will be created if it doesn't exist)
$coll = $db->democoll;
echo '<br />Collection var dump below <br />';
var_dump($coll);
$coll->insert(array(
    'key1' => 'Another Row',
    'AnArray' => array(
        'embedded array value 1',
        'embedded array value 2'
    ),
    'embeddedDoc1' => array(
        'embedDoc1Key1' => 'Embedded text in Doc1',
        'embedDoc1Key2' => 'More text for fun'
    )
    ));
    echo '<h2 style="color:red">Below is our Document</h2>';
$myDoc = $coll->findOne(array('key1' => 'Another Row'));
print_r($myDoc);
echo '</pre>';
?>
    </body>
</html>

【问题讨论】:

你从 Github 下载的 PHP 驱动是什么版本的?其中大多数都非常古老(并且很可能早于 MongoClient 类的引入)。我建议从current PHP download page 下载最新的 PHP 驱动程序(目前是 1.4.5)。 我在 5.3 TS VC6 中使用了 mongo-1.1.4.zip 正如建议的那样,我将尝试使用 New XAMPP for PHP 5.4.__ 否则,我的方法有问题吗? 如果您使用的是(非常旧的)1.1.4 驱动程序,MongoClient 类不可用。您可以尝试改用 Mongo 类,但它是 highly discouraged。 MongoClient 至少需要 1.3.x PHP 驱动程序,但最好将 XAMPP 升级到 PHP 5.4 并安装最新的 PHP 1.4.x 驱动程序。 非常感谢它与升级的 xampp 一起使用 【参考方案1】:

升级PHP版本后,程序的每一部分都正常工作

MongoClient 至少需要 1.3.x PHP 驱动程序,但最好将您的 XAMPP 升级到 PHP 5.4 并安装最新的 PHP 1.4.x 驱动程序。 - 谢谢@stennie

【讨论】:

以上是关于致命错误:在第 11 行的 E:\xampp\htdocs\teach\mongo\index.php 中找不到类 'MongoClient' - Mongodb + XAMPP的主要内容,如果未能解决你的问题,请参考以下文章

困惑:PHP 致命错误:在第 0 行的未知中抛出没有堆栈帧的异常?

PHP 致命错误:在第 45 行的 admin\includes\html\database.class.php 中的非对象上调用成员函数 prepare()

可捕获的致命错误:WP_User 类的对象无法在第 139 行的 /directory/ 中转换为字符串

如何解决这个错误?致命错误:在第X行的... / magento18 / lib / Zend / Uri.php中调用未定义的函数ctype_alnum()?

PHP 致命错误:在第 47 行的 /var/www/znata.com/app/AppKernel.php 中找不到类 'Application\Sonata\MediaBundle\Applica

致命错误:在第 697 行的 /home/user1/public_html/go-pear.php 中找不到类“PEAR”