我在配置 PHP 与 Mac 上的 MongoDB 集成时遇到了一些困难。
我可以确认 PHP 正在正确运行,并且我正在修改的 php.ini 文件是正确的(我可以看到 phpinfo() 结果相应地发生变化)。
我还通过命令行和 Node.js 应用程序正确运行了 MongoDB。
我已经安装了 PEAR,并尝试通过以下方式安装 Mongo 库:
$ sudo pecl install mongodb
但这显然失败了:
configure: error: Cannot find OpenSSL's <evp.h>
ERROR: `/private/tmp/pear/install/mongodb/configure --with-php-config=/usr/bin/php-config' failed
我想这就是为什么我找不到mongo.so或者mongodb.so在我的系统上的任何地方,为什么将以下任何一行添加到我的 php.ini 中都没有任何作用:
extension=mongodb.so
extension=mongo.so
整个过程在浏览器中表现为:
致命错误:在 /private/var/www/path/to/MyFile.php 第 8 行中未找到类“Mongo”
MyFile.php 的代码如下:
<?php
// DEBUGGING
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
try {
$m = new Mongo();
$db = $m->selectDB("records");
}
catch (MongoConnectionException $e){
echo '<p>Couldn\'t connect to mongodb, is the "mongo" process running?</p>';
exit();
}
?>