无法在OS X 10.11上安装mongo-php-driver

6

我已经阅读了所有类似的Stack Overflow问题,但都没有解决我的具体问题。 我正在运行OS X 10.11(El Capitan)。

我已克隆mongo-php-drive仓库并成功执行了以下命令:

phpize
./configure
make

但是sudo make install失败了:

(master) ~/tmp/mongo-php-driver
$ sudo make install
Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-20121212/
cp: /usr/lib/php/extensions/no-debug-non-zts-20121212/#INST@39898#: Operation not permitted
make: *** [install-modules] Error 1

我知道这是一个权限问题,但我不知道如何安全地修复它。我不想放松对诸如/usr/*之类的内容的安全性。

如果您有任何建议,将不胜感激。


1
当你使用 git clone 命令时,是否切换到了稳定的分支或标签?如果没有,那么你正在读取不稳定的“master”分支。请使用 git checkout 命令切换到一个受支持的版本。 - Blakes Seven
克隆后,我运行了“git branch -v”,结果是“* master 071165f Merge branch 'v1.6'”。我对“git”不熟悉-这不意味着我在最新的稳定分支上(似乎是v1.6)。我该如何切换到正确的分支?(感谢您的帮助!) - RobertJoseph
1
阅读有关 Git 的内容,并在 GitHub 上查找最新的发行标记(最可能的情况)以了解要切换到哪个版本。这里有很多关于如何使用 git checkout 命令切换标记的问题。 - Blakes Seven
我已经检出并构建了v1.6.10(最新的稳定标签),结果完全相同 - 由于权限问题,它无法安装到/usr/lib/php/extensions/。再次强调,我想知道更改目录权限的正确/安全方法,以便make install可以成功。 - RobertJoseph
我已经成功地通过使用以下链接中找到的技术(将扩展名放置在未受 SIP 保护的 /usr/local 中)重新启用了 mcrypt。如果它也适用于 mongo,我会很好奇(我不知道为什么不适用)。http://stackoverflow.com/a/36991283/728053 - Vagari
2个回答

20
问题是由于OS X 10.11 El Capitan的Rootless特性引起的。为了能够将扩展安装到/usr/lib/php/*中,我不得不暂时禁用该特性(说明 - 请记得在之后重新启用它)。

6

开机时按下cmd+r。然后进入实用工具 > 终端,并输入以下命令:

csrutil disable
reboot

不要忘记启用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接