我正在运行OSX El Capitan。我已经安装了mongo驱动程序使用brew:
brew install php70-mongodb
安装完成,似乎可以工作。当我在CLI上执行"php -m"时,它显示安装了"mongo"。运行脚本与Mongo驱动程序工作。当我试图通过Apache2运行相同的脚本时,就会出现问题。然后,由于下面的代码行,我得到一个Mongo未安装的错误:
if (!extension_loaded('mongo')) die("MongoDB is not installed!");
phpinfo()确实显示未安装Mongo。我已经为apache创建了一个php.ini文件:
cp php.ini.default php.ini
,并在文件末尾添加以下行:
extension="/usr/local/opt/php56-mongo/mongo.so"
重新启动Apache后,它似乎仍然没有加载。我试着创建一个mongo的副本。所以在同一个目录下,给_www所有权(认为可能是这种情况),但仍然没有工作。
奇怪的是,系统告诉我有一封从我的Macbook发送到我的Macbook的邮件,内容如下:
PHP警告:PHP启动:mongo:无法初始化模块模块API编译的模块=20131226使用模块API编译的PHP =20121212这些选项需要匹配
关于如何获得扩展加载在Apache上的任何帮助将不胜感激!......
看起来我正在运行PHP版本5.5和我做的,根据php.net的指令
brew install php56-mongo
显然,我忽略了你必须根据安装的版本更改这一行。因此,在将其更改为:
之后brew install php55-mongo
并按照brew说明删除已安装的其他版本(在您输入此命令后会出现有关如何执行该操作的说明)—新版本已安装。
之后,我更新了/etc/php.ini以指向正确的目录(这与之前的安装不同)-它工作了!