Mac版MAMP中PHP7.4安装mailparse扩展后phpinfo不显示如何解决
MAMP 下 PHP7.4.21 安装 Mailparse 扩展 CLI 正常、Web 端不加载的修复方案
终端执行php -m能查到mailparse,仅代表PHP命令行模式加载扩展成功,Web端phpinfo看不到扩展是MAMP下的常见配置不匹配问题,按以下步骤操作即可:
- 先定位Web端实际加载的php.ini路径
打开phpinfo页面,找到Loaded Configuration File项,复制对应的文件绝对路径——不要手动凭记忆改ini文件,MAMP不同启动模式下加载的ini路径可能和你之前改的两个路径不一致,只需要在这个定位到的ini文件末尾添加extension=mailparse.so,其他路径下ini里重复加的配置可以删掉,避免配置冲突。 - 检查扩展架构和PHP运行架构是否匹配
终端执行以下命令查看mailparse扩展的编译架构:
回到phpinfo页面找到file /Applications/MAMP/bin/php/php7.4.21/lib/php/extensions/no-debug-non-zts-*/mailparse.soArchitecture项,确认PHP运行架构:如果显示x86_64,那扩展的输出结果里必须包含x86_64标识;如果是arm64,扩展输出也要对应arm64标识。架构不匹配的话,切到对应PHP版本的bin目录重新编译安装:cd /Applications/MAMP/bin/php/php7.4.21/bin ./pecl uninstall mailparse # MAMP以x86架构运行就执行下面这行,arm架构直接执行./pecl install mailparse即可 arch -x86_64 ./pecl install mailparse - 调整扩展加载顺序
Mailparse依赖mbstring,必须在mbstring加载完成后再加载。打开刚才定位到的php.ini,找到extension=mbstring.so的配置行,把extension=mailparse.so这行挪到这行的后面,不要放在mbstring加载顺序之前。 - 完全重启MAMP生效
不要只点MAMP面板上的重启按钮,先在Dock栏右键MAMP图标选择完全退出,等程序进程全部关闭后再重新打开MAMP启动Web服务,刷新phpinfo页面搜索mailparse即可看到扩展加载信息。
内容的提问来源于stack exchange,提问作者Maxim U
相关产品推荐
相关产品推荐

