在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
任何帮助表示赞赏。谢谢,Brian
答案 0 :(得分:1)
我在ubuntu的情况下挂了一段时间,然后我就试过了
1)在phpinfo()屏幕中,确保配置文件路径和加载配置文件与您正在编辑的PHP文件匹配。如果没有,那么找到正确的php.ini并添加mongo.so扩展名。
2)在phpinfo()屏幕中,查看extension_dir值并确认该目录中存在mongo.so。如果没有,找到mongo.so文件并将其复制到该目录。
3)重启您的网络服务器。
4)如果仍然无法正常工作,请查看网络服务器& php记录了为何可能无法加载扩展名的线索。
来自Error enabling MongoDB module
一切都很好,但我一直都在, $ php - 是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());
}
?>
因此,请尝试使用脚本,如果能够无错误地连接,请忘记扩展名:)。