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

Macos 如何将intl.so复制到/usr/lib/php/extensions,macos,moodle,Macos,Moodle,我想在我的电脑上试用Moodle(LMS)。它需要intl扩展。 我使用了sudo端口安装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

我想在我的电脑上试用Moodle(LMS)。它需要intl扩展。 我使用了
sudo端口安装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
,但由于出现错误而失败。 此方法
sudo port install php71 intl
可以成功地安装intl.so,但要在自己的目录中进行


那我怎么才能复制国际标准呢?谢谢大家!

要做到这一点,您必须禁用SIP。首先,重新启动Mac,在操作系统启动之前,按住Command-R,直到看到苹果图标和进度条。释放这会让你恢复健康。从实用程序菜单中,选择Terminal,并在提示下准确键入以下内容,然后按Return:csrutil disable


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

试试
rsync-av/opt/local/lib/php71/extensions/no-debug-non-zts-20160303/intl.so/usr/lib/php/extensions/no-debug-non-zts-20160303/
否则看看这里:终端仍然说
不允许操作
你用sudo试过rsync命令吗?就像这样:
sudorsync-av/opt/local/lib/php71/extensions/no-debug-non-zts-20160303/intl.So/usr/lib/php/extensions/no-debug-non-zts-20160303/
Yes。完整消息是:
rsync:mkstemp”/usr/lib/php/extensions/no-debug-non-zts-20160303/.intl.so.Xj1MTr“失败:不允许操作(1)发送414478字节接收42字节829040.00字节/秒总大小为414320加速比为1.00 rsync错误:某些文件无法传输(代码23)在/BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/main.c(996)[sender=2.6.9]
很可能您的权限太少,或者该文件夹已由系统备份。尝试在目标文件夹中创建同名文件,然后用另一个文件夹的内容填充该文件。