mongo php驱动程序扩展在cli中加载,而不是在OSX中加载apache


mongo php driver extension loads in cli, not apache in OSX

我正在运行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以指向正确的目录(这与之前的安装不同)-它工作了!