苹果M1 Pro设备XAMPP PHP7.3环境安装Phalcon 3.4失败求助
问题解答
Phalcon 3.4对ARM架构的支持说明
Phalcon 3.4全版本均于2019年及之前发布,早于苹果M系列ARM芯片的发布时间,没有官方ARM架构适配支持,原生编译会出现大量代码兼容性错误,就是你直接克隆仓库编译失败的核心原因。
你首次安装出现架构不兼容报错,是因为MacPorts在ARM环境下默认编译生成的是arm64架构的phalcon.so,但你使用的XAMPP PHP 7.3为x86_64架构(该版本XAMPP未推出ARM适配包),二者架构不匹配无法加载。
可行安装方案
- 方案1:Rosetta 2转译编译适配现有XAMPP
- 右键点击终端应用,勾选「显示简介」中的「使用Rosetta打开」选项,重启终端
- 在Rosetta终端内重新克隆Phalcon 3.4仓库,执行
cd build && ./install编译,此时生成的phalcon.so为x86_64架构 - 将编译好的扩展文件复制到XAMPP的扩展目录,在php.ini中配置扩展加载路径后,重启XAMPP的Apache服务即可
- 方案2:切换为原生ARM PHP环境
放弃无ARM适配的XAMPP,直接使用MacPorts安装的arm64架构PHP 7.3+Phalcon 3.4运行环境,搭配原生ARM的Nginx或Apache服务,不需要额外架构适配即可正常运行 - 方案3:Docker虚拟化部署
直接使用现成的x86架构PHP 7.3 + Phalcon 3.4镜像运行项目,无需处理本地环境的架构兼容问题,配置成本最低
注意事项
你可以执行命令file /Applications/XAMPP/xamppfiles/bin/php确认当前XAMPP PHP的架构,编译扩展时必须保证二者架构完全一致才能正常加载。
内容的提问来源于stack exchange,提问作者Zaen Khilji
相关产品推荐
相关产品推荐

