php M1芯片上的Apache模块错误-文件,但架构不兼容,有“arm 64”,需要>“x86_64”

yqhsw0fo  于 2023-01-16  发布在  PHP
关注(0)|答案(1)|浏览(164)

我在苹果M1芯片上。

uname -m
arm64

我正在尝试为Apache安装PHP 8.2模块,例如:
LoadModule php8_module /opt/homebrew/Cellar/php/8.2.1/lib/httpd/modules/libphp.so
...但是,当我这样做时,我遇到以下错误:
阿朴赫特-S
httpd:/usr/local/etc/httpd/httpd.conf的第183行出现语法错误:无法加载/opt/php/8.2.1文件libphp.so到服务器:数据库(/opt/homebrew/Cellar/php/8.2.1/lib/httpd/modules/libphp.so,0x 000 A):尝试:“/opt/homebrew/Cellar/php/8.2.1/lib/httpd/modules/libphp.so”(机器运行文件,但是是不兼容的体系结构(具有“arm 64”,需要“x86_64”))、“/系统/卷/预启动/加密文件/操作系统/opt/homebrew/Cellar/php/8.2.1/lib/httpd/modules/libphp.so”(没有此类文件)、“/opt/homebrew/Cellar/php/8.2.1/lib/httpd/modules/libphp.so”(机器运行文件,但体系结构不兼容(具有“arm 64”,需要“x86_64”)

file `which php`
/usr/local/bin/php: Mach-O 64-bit executable arm64
file `which httpd`
/usr/local/bin/httpd: Mach-O 64-bit executable x86_64

从内存中,Apache与旧版本的Homebrew一起安装在英特尔芯片的Mac上,并导入到M1芯片上的新MBP中。
PHP(8.2)是最近使用新的Homebrew安装程序为arm 64安装的。
我有什么选择?卸载Apache并重新安装,然后重新配置?

mspsb9vt

mspsb9vt1#

我也遇到过同样的问题,并尝试重新安装apache(升级osx),但没有工作。
我终于发现如果我使用Rosetta在旧的架构下运行Apache,它可以工作。不是我所希望的结果,但是我已经在这上面浪费了很多时间,所以,它对我来说已经足够好了。
为此,只需在您的终端命令前面加上“arch -x86_64”,即:
arch -x86_64 sudo路径选择-k重新启动
高温加热

相关问题