错误:写入失败,无法打开流,pecl install oauth on mac osx el capitan

时间:2016-01-18 09:09:18

标签: php macos oauth pecl

我正在尝试使用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 - 重新启动网络服务器 - 重新启动计算机

我没有尝试过的想法。有人之前听说过这个问题吗?

2 个答案:

答案 0 :(得分:10)

您需要禁用系统完整性保护。

  1. 重新启动Mac并在听到启动响铃后同时按住 Command + R 键,这将启动OS X进入恢复模式。
  2. 当出现“OS X Utilities”屏幕时,请按下屏幕顶部的“Utilities”菜单,然后选择“Terminal”。
  3. 在终端中输入以下命令,然后点击return: csrutil disable

  4. 您会看到一条消息,指出已禁用系统完整性保护,并且Mac需要重新启动才能使更改生效。

  5. 输入reboot命令,然后Mac会自动重启,让它正常启动。

  6. 然后再次使用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