19

我正在尝试在 OS X 上安装 oAuth,但在终端中出现此错误:

无法安装,频道“pecl.php.net”的 php_dir 不能被当前用户写入

我如何允许它是可写的?

4

4 回答 4

27

首先找出 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

于 2012-08-05T01:18:05.840 回答
20

最简单的方法可能是附加sudo到安装命令的前面。

请参阅http://linux.about.com/od/commands/l/blcmdl8_sudo.htm以了解有关方便的“超级用户”命令的更多信息。

于 2013-07-10T21:29:54.660 回答
0

为了进一步参考,在 OS Catalina 上,由于 /usr/bin - lib 文件夹的写入权限,您应该将pecl上的所有配置文件夹移动到某个可写位置(除了 php_bin 是 php 目录,这个应该指向您的 php 文件夹) .

于 2020-10-19T14:38:54.610 回答
0

这是由于 Mac OS 中称为系统完整性保护 (SIP) 的功能。SIP 防止编辑关键系统文件和目录。

要绕过 SIP 限制以安装 oAuth,您可以暂时禁用它。引导进入恢复模式并运行命令csrutil disable。之后,正常重新启动并再次尝试安装。

安装完成后,通过引导回到恢复模式并运行命令来重新启用 SIP csrutil enable注意:强烈建议您重新启用 SIP 以保护您的计算机。

于 2021-07-23T03:43:06.973 回答