使用 MacPorts 构建的 PHP 会导致 Apache 出现 SEGV

使用 MacPorts 构建的 PHP 会导致 Apache 出现 SEGV

我已成功将 PHP 添加到 Mac OS Ventura(在 Intel 上)的内置 Apache 中,但它是 PHP 7 的旧版本。我的问题是,当我尝试使用通过 MacPorts 构建的最新版本时,我遇到了分段违规。在两次尝试中,它们都按要求进行了签名。

我先把它放在自定义的位置/etc/apache2/modules/mod_php80.so并签名。

root@vger:/etc/apache2/modules(28)+>- /usr/sbin/httpd
[Sun Oct 01 19:58:56.982055 2023] [so:notice] [pid 6449] AH06662: Allowing module loading process to continue for module at /etc/apache2/modules/mod_php80.so because module signature matches authority "Philip Kearns\xe2\x80\x99s CA" specified in LoadModule directive
Segmentation fault
root@vger:/etc/apache2/modules(29)+>-

我尝试在原始位置使用它:

root@vger:/etc/apache2/modules(33)+>- /usr/sbin/httpd
[Sun Oct 01 20:02:56.564926 2023] [so:notice] [pid 6600] AH06662: Allowing module loading process to continue for module at /opt/local/lib/apache2/modules/mod_php80.so because module signature matches authority "Philip Kearns\xe2\x80\x99s CA" specified in LoadModule directive
Segmentation fault
root@vger:/etc/apache2/modules(34)+>-

有人在其他地方见过这样的行为吗?

答案1

这其实很明显:Mac Ports 模块是针对其自己的 Apache(/opt/sbin/httpd)构建的,因此它永远不适用于内置的 macOS Apache。

相关内容