我正在尝试在 OS X 上安装 oAuth,但在终端中出现此错误:
无法安装,频道“pecl.php.net”的 php_dir 不能被当前用户写入
我如何允许它是可写的?
我正在尝试在 OS X 上安装 oAuth,但在终端中出现此错误:
无法安装,频道“pecl.php.net”的 php_dir 不能被当前用户写入
我如何允许它是可写的?
首先找出 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
最简单的方法可能是附加sudo
到安装命令的前面。
请参阅http://linux.about.com/od/commands/l/blcmdl8_sudo.htm以了解有关方便的“超级用户”命令的更多信息。
为了进一步参考,在 OS Catalina 上,由于 /usr/bin - lib 文件夹的写入权限,您应该将pecl上的所有配置文件夹移动到某个可写位置(除了 php_bin 是 php 目录,这个应该指向您的 php 文件夹) .
这是由于 Mac OS 中称为系统完整性保护 (SIP) 的功能。SIP 防止编辑关键系统文件和目录。
要绕过 SIP 限制以安装 oAuth,您可以暂时禁用它。引导进入恢复模式并运行命令csrutil disable
。之后,正常重新启动并再次尝试安装。
安装完成后,通过引导回到恢复模式并运行命令来重新启用 SIP csrutil enable
。注意:强烈建议您重新启用 SIP 以保护您的计算机。