我正在尝试使用pecl install在本地安装OAuth版本1.2.3(在Mac OSX El Capitan上运行PHP 5.6.10)。在命令提示符下运行以下命令:
sudo pecl install oauth-1.2.3
安装开始正常并且在构建完成之前运行没有错误。然后我收到了这个错误:
Build process completed successfully
Installing '/usr/lib/php/extensions/no-debug-non-zts-20121212/oauth.so'
ERROR: failed to write /usr/lib/php/extensions/no-debug-non-zts-`20121212/oauth.so
(copy(/usr/lib/php/extensions/no-debug-non-zts-20121212/oauth.so):
failed to open stream: Operation not permitted)`
ls在文件夹no-debug-non-zts-20121212中没有显示oauth.so,但除此之外,文件夹看起来还不错。
我尝试过的事情: - 更新梨和pecl - 更新MAMP - 重新启动网络服务器 - 重新启动计算机
我没有尝试过的想法。有人之前听说过这个问题吗?
答案 0 :(得分:10)
您需要禁用系统完整性保护。
在终端中输入以下命令,然后点击return:
csrutil disable
您会看到一条消息,指出已禁用系统完整性保护,并且Mac需要重新启动才能使更改生效。
输入reboot
命令,然后Mac会自动重启,让它正常启动。
然后再次使用sudo pecl install oauth-1.2.3
。在 / usr / lib / php / extensions / no-debug-non-zts-20121212 / 中正确安装 oauth.so 之后,您应该再次启用SIP(之后)总而言之,这是一个保护我们系统的功能,因此最好将其保持打开状态。
参考咨询:
答案 1 :(得分:0)
启用/禁用令人头疼的系统完整性保护...相反,请点击此链接并更改您的PHP目录路径。
http://mrgott.com/misc/10-install-mcrypt-and-intl-php-extensions-on-mac-os-x-and-xampp