Mac本地终端安装Contao CMS失败:ext-intl扩展缺失问题求助
解决Mac上PHP 7.3.11安装Contao CMS时intl扩展加载失败的问题
我之前帮不少开发者排查过类似的问题,你遇到的这个intl扩展加载失败,大概率是PHP配置文件指向错误或者扩展路径配置不对导致的,下面是一步步的排查和解决步骤:
1. 确认你修改的是正确的php.ini文件
Mac上的PHP经常会有多个配置文件(比如CLI和Web服务器用的是分开的),而Composer是通过CLI环境运行的,所以首先要确认你编辑的是CLI模式下的php.ini:
- 执行命令:
php --ini - 查看输出里的
Loaded Configuration File这一行,比如:Loaded Configuration File: /usr/local/etc/php/7.3/php.ini,你需要确保自己修改的是这个路径下的文件,而不是其他位置的php.ini。
2. 检查intl扩展的实际路径并修正配置
有时候即使你启用了extension=intl,但PHP找不到扩展文件的实际位置:
- 先找到intl扩展的真实路径:
find / -name "intl.so" 2>/dev/null - 找到路径后,在
php.ini里把扩展配置改成绝对路径,比如:
(注意替换成你自己找到的实际路径)extension="/usr/local/Cellar/php@7.3/7.3.11/pecl/20180731/intl.so"
3. 验证intl扩展是否成功加载
修改配置后,需要确认PHP真的加载了这个扩展:
- 执行命令查看已加载的扩展:
看输出列表里有没有php -mintl;或者用更直接的方式:
如果返回php -r "var_dump(extension_loaded('intl'));"bool(true),说明扩展已经成功加载了。
4. 针对Homebrew安装的PHP@7.3的额外处理
如果你是用Homebrew安装的PHP 7.3,可能需要重新安装intl扩展:
- 先安装依赖的ICU库:
brew install icu4c - 然后重新安装intl扩展:
安装过程中如果有提示,直接按回车默认即可。pecl install intl --with-icu-dir=/usr/local/opt/icu4c
5. 重新运行Contao安装命令
确认intl扩展加载成功后,再重新执行Composer的安装命令:
composer create-project contao/managed-edition
这样应该就能解决依赖检查失败的问题了。
内容的提问来源于stack exchange,提问作者Hasnain Shafqat
相关产品推荐
相关产品推荐

