【问题标题】:Failed to write error when installing intl extension on Os x El Capitan在 Os x El Capitan 上安装 intl 扩展时无法写入错误
【发布时间】:2016-01-18 03:53:48
【问题描述】:

我正在尝试在 Os x El Capitan 上安装 intl 扩展。每次我运行sudo pecl install intl 时,我都会在最后一步出现以下错误。我不知道为什么复制操作失败。是错误还是我遗漏了什么?

非常感谢任何帮助!

注意:我已经正确安装了autoconficu4c

构建完成。 不要忘记运行“make test”。 运行:使 INSTALL_ROOT="/private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0" 安装 安装共享扩展:/private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib/php/extensions/no-debug-non-zts-20121212/ 运行:找到“/private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0”| xargs ls -dils 20728993 0 drwxr-xr-x 3 根轮 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0 20729918 0 drwxr-xr-x 3 根轮 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr 20729919 0 drwxr-xr-x 3 根轮 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib 20729920 0 drwxr-xr-x 3 根轮 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib/php 20729921 0 drwxr-xr-x 3 根轮 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib/php/extensions 20729922 0 drwxr-xr-x 3 根轮 102 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib/php/extensions/no-debug -非zts-20121212 20729923 864 -rwxr-xr-x 1 根轮 440756 Oct 19 19:33 /private/tmp/pear/install/pear-build-rootM6zI6U/install-intl-3.0.0/usr/lib/php/extensions/no-调试非zts-20121212/intl.so 构建过程成功完成 安装'/usr/lib/php/extensions/no-debug-non-zts-20121212/intl.so' 错误:无法写入/usr/lib/php/extensions/no-debug-non-zts-20121212/intl.so(复制(/usr/lib/php/extensions/no-debug-non-zts-20121212/intl .so):无法打开流:不允许操作)

【问题讨论】:

  • 这听起来与 /usr 的新“系统完整性保护”锁定有关。见这里:*.com/questions/32893056/…
  • 我禁用了“系统完整性保护”并解决了问题。谢谢@DanWillis。

标签: php pecl osx-elcapitan intl


【解决方案1】:

我在尝试安装 intl 时遇到了同样的问题。

不得不像 Dan Willis 建议的那样禁用系统完整性保护。

  1. 重新启动计算机。

  2. 当屏幕变黑时,按住 command+r 直到您启动到恢复。您将看到 OS X 实用程序菜单。

  3. 接下来打开终端。然后输入以下命令。

    csrutil 禁用

一定要把它写下来,以便记住它。

  1. 重启你的mac,让它正常启动。

  2. 再次打开终端并再次安装INTL

    sudo pecl install intl

它现在将完成安装。

【讨论】: