【问题标题】:PHP & Mongo broken after Mac OSX Mavericks upgradeMac OSX Mavericks 升级后 PHP 和 Mongo 损坏
【发布时间】:2014-08-05 01:01:03
【问题描述】:

在 OSX 10.9.3 升级后,许多事情都不起作用。 Apache、Mongo 和 PHP 现在都可以独立工作,但是 php 的 mongo 扩展却不是。我希望stackoverflow社区可以提供帮助。这是基本问题:

$ sudo pecl install mongo
pecl/mongo is already installed and is the same as the released version 1.5.3
install failed

$ php --re mongo
Exception: Extension mongo does not exist

Pecl 和 PHP 在 mongo 扩展是否存在方面存在分歧。 mongo.so 确实存在于此处:/opt/local/lib/php/extensions/no-debug-non-zts-20090626/mongo.so 它的安装位置和此处:/usr/lib/php/extensions/no- debug-non-zts-20100525 我复制它的地方,因为那是 php.ini 指向的地方。它在两个地方都可以执行。它安装在错误的位置似乎很奇怪,所以也许有一个需要翻转的 pecl 配置? pecl 在安装结束时也没有找到 php.ini,但我正在手动更新。

10.9 升级后恢复的最佳指南似乎在这里:http://fighterpilotstress.blogspot.com/2013/10/installing-mongodb-driver-with-php-on.html,我一直忠实地遵循它。我还安装了此处引用的命令行工具:Unable to install mongodb php driver on mac os 10.9

相关的 php.ini 行:

include_path = ".:/usr/lib/php/pear"    
extension=mongo.so

任何帮助表示赞赏。谢谢,布赖恩

【问题讨论】:

    标签: php macos mongodb osx-mavericks pecl


    【解决方案1】:

    我在ubuntu上同样的情况挂了一段时间,然后我就试了

    1) 在您的 phpinfo() 屏幕中,确保配置文件路径和加载的配置文件与您正在编辑的 PHP 文件匹配。如果没有,则找到正确的 php.ini 并添加 mongo.so 扩展名。

    2) 在您的 phpinfo() 屏幕中,查看 extension_dir 值并确认 mongo.so 存在于该目录中。如果没有,找到mongo.so文件,复制到这个目录下。

    3) 重新启动您的网络服务器。

    4) 如果仍然无法正常工作,请查看 Web 服务器和 php 日志,以获取有关扩展程序无法加载的原因的线索。

    来自Error enabling MongoDB module

    我这边一切都好,但我还是一直在努力, $ php --re mongo 例外:扩展 mongo 不存在

    然后我检查了这个测试脚本并能够连接到 mongoDB。

    <?php
    try {
        // open connection to MongoDB server
        $conn = new Mongo('localhost');
    
        // access database
        $db = $conn->test;
    
        // access collection
        $collection = $db->items;
    
        // execute query
        // retrieve all documents
        $cursor = $collection->find();
    
        // iterate through the result set
        // print each document
        echo $cursor->count() . ' document(s) found. <br/>';
        foreach ($cursor as $obj) {
            echo 'Name: ' . $obj['name'] . '<br/>';
            echo 'Quantity: ' . $obj['quantity'] . '<br/>';
            echo 'Price: ' . $obj['price'] . '<br/>';
            echo '<br/>';
        }
    
        // disconnect from server
        $conn->close();
    } catch (MongoConnectionException $e) {
        die('Error connecting to MongoDB server');
    } catch (MongoException $e) {
        die('Error: ' . $e->getMessage());
    }
    ?> 
    

    因此,请尝试脚本,如果您能够正确连接,请忘记扩展 :)。

    【讨论】:

      猜你喜欢
      • 2014-02-04
      • 2014-12-14
      • 2014-04-28
      • 2013-11-03
      • 2013-11-18
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多