MAMP 3.3.1部署Magento 2.2.2遇PHP intl扩展缺失问题求助
我来帮你搞定这个困扰!针对MAMP环境下的intl扩展问题,你之前的操作方向是对的,但可能漏了几个关键细节,给你一步步排查:
确认修改的是MAMP当前运行的PHP版本配置
MAMP默认会带多个PHP版本,你修改了C:\MAMP\conf\php7.1.5\php.ini,但要先确认MAMP主界面顶部的PHP版本下拉菜单里选的是不是7.1.5。如果选的是其他版本,那你的修改根本没生效,得去对应版本的conf目录改php.ini。检查php_intl.dll文件的存在性与路径
去C:\MAMP\bin\php\php7.1.5\ext目录看看有没有php_intl.dll这个文件。如果没有,你需要从MAMP的完整安装包或者对应PHP 7.1.5的官方包中提取这个文件(版本必须严格匹配)。另外,php.ini里的扩展路径可以改成绝对路径试试,比如把extension=php_intl.dll改成:extension=C:\MAMP\bin\php\php7.1.5\ext\php_intl.dll验证MAMP的PHP是否被系统正确识别
打开命令提示符,输入php -v,看看输出的PHP版本是不是MAMP的7.1.5。如果显示的是系统自带的其他版本,说明MAMP的PHP没加入系统PATH。你需要把C:\MAMP\bin\php\php7.1.5添加到系统环境变量的PATH中,然后重启命令提示符和MAMP。确认intl扩展是否加载成功
在MAMP的htdocs目录新建一个phpinfo.php文件,内容如下:<?php phpinfo(); ?>访问
http://localhost/phpinfo.php,页面里搜索“intl”,如果能看到intl模块的详细信息,说明加载成功;如果没有,回到前面的步骤重新排查。
另外提一句:你修改always_populate_raw_post_data为-1是对的,这是Magento 2.2.x适配PHP 7.1+的要求,但这个设置和intl扩展的问题无关,不用在这上面浪费精力啦。
内容的提问来源于stack exchange,提问作者cachestache

