如何将 intl.so 复制到 /usr/lib/php/extensions

How to copy intl.so to /usr/lib/php/extensions

我想在我的电脑上试用 Moodle (LMS)。它需要国际扩展。 我使用 sudo port install php71-intl 并成功安装了 php71-intl。但它还在 /opt/local/ 上安装了 php71 和其他依赖项。 我正在使用 Mac 内置 php。它的目录是

/usr/lib/php/extensions/no-debug-non-zts-20160303
/usr/bin/php

我打算将 /opt/local/lib/php71/extensions/no-debug-non-zts-20160303/intl.so 复制到 /usr/lib/php/extensions/no-debug-non-zts-20160303。但是终端说不允许操作。

我尝试了 sudo pecl install intl 但因 make 错误而失败。 这种方法 sudo port install php71-intl 可以成功安装 intl.so 但在它自己的目录中。

那么如何复制 intl.so?谢谢!

您必须禁用 SIP 才能执行此操作。首先,重新启动 Mac,在 OS 启动之前,按住 Command-R 并一直按住,直到您看到 Apple 图标和进度条。发布。这会引导您进入 Recovery。在实用程序菜单中,select 终端并在提示符下准确键入以下内容,然后按 Return:csrutil disable

终端应显示 SIP 已禁用的消息。从菜单中,select 重新启动。您可以按照上述步骤重新启用 SIP,但改为使用 csrutil enable。