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

M B*_*rus 8 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
Run Code Online (Sandbox Code Playgroud)

安装开始正常并且在构建完成之前运行没有错误.然后我收到这个错误:

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)`
Run Code Online (Sandbox Code Playgroud)

ls在文件夹no-debug-non-zts-20121212中没有显示oauth.so,但除此之外,文件夹看起来很好.

我尝试的事情: - 更新梨和pecl - 更新MAMP - 重新启动webserver - 重新启动计算机

我没有尝试过的想法.有谁曾经听过这个问题吗?

小智 13

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

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

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

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

然后再试一次sudo pecl install oauth-1.2.3.后oauth.so已正确安装在/ usr/lib中/ PHP /分机/无调试非ZTS-20121212 /你应该重新启用SIP(毕竟,这是为了保护我们的系统功能,所以最好保持开启).

参考咨询: