安装oAuth PECL出错:无法安装,因为当前用户没有对"pecl.php.net"渠道的php_dir写入权限。

22
我正试图在 Mac OS X 上安装 OAuth,但在终端中出现以下错误信息:

无法安装,因为当前用户无法写入 "pecl.php.net" 渠道的 php_dir。

请问该如何使其可写?
4个回答

30

首先找出php_dir的位置。您可以使用“config-get”命令来查找:

pecl config-get php_dir

完成后,您可以选择以下方式之一:

  • 更改该文件夹(以及任何需要的子文件夹)的所有权

    sudo chown <username> <php_dir>

或者

  • 将php_dir设置为其他文件夹

    pecl config-set php_dir /path/to/new/dir


2
如果你想要更改文件的所有者,正确的命令是“sudo chown”,而不是“chmod”。除此之外,你的建议很好。 - vladko
3
如果有人喜欢一行代码:sudo chown $(whoami) $(pecl config-get php_dir) - Raptor

20

使用sudo时仍然出现相同的OP错误。 MacOS 11.0.1 - Kalnode

0

如需更多参考,在OS Catalina上,由于无法在/usr/bin - lib文件夹上写入权限,您应将pecl上的所有配置文件夹移动到某个可写位置(除了php_bin目录,它是php目录,这个应该指向您的php文件夹)。


有什么建议在Mac中可能会有哪些目录? - Gediminas Šukys

0
这是由于Mac OS中的一个名为系统完整性保护(SIP)的功能所致。SIP防止修改关键系统文件和目录。
为了绕过SIP限制以安装oAuth,您可以暂时禁用它。进入恢复模式并运行命令csrutil disable。然后,正常重启并再次尝试安装。
安装完成后,通过重新进入恢复模式并运行命令csrutil enable来重新启用SIP。注意:强烈建议您重新启用SIP以保护您的计算机。

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