我已经在我的Mac上安装了php@7.4和brew。一切都很好,但是当我在Safari中打开本地主机时,它只向我展示了php代码。
我的代码:
<?php
echo "Hello world";以及在localhost上的结果:本地主机结果
我觉得这是我的问题。我将这一行添加到http.conf文件中,在localhost中没有任何操作(Safari无法连接到服务器"localhost")。
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so发布于 2022-05-31 16:25:34
最后我找到了解决办法。macOS中的守门员确保只有经过验证的应用程序才能被执行,这是通过使用codesign对应用程序进行签名来实现的。代码签名在macOS Big上是可选的,而且是优先的,但自macOS蒙特雷以来是强制性的。
使用国产软件安装的PHP模块没有签名,因此您需要先对其签名,然后才能使用它。
在使用codesign实用程序对PHP模块进行签名之前,我创建代码签名证书和代码签名证书。
步骤3:从Apache指令中定位PHP模块的位置或路径。
grep -nir "^loadmodule.*php" /etc/apache2 /etc/apache2/other/00-httpd.conf:4:LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so步骤4:用您创建的代码签名证书名称使用codesign对PHP模块进行签名。
codesign --sign "<Your Name>" --force --keychain /Library/Keychains/login.keychain-db /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so步骤5:使用首选的文本编辑器使用PHP指令打开文件。
sudo nano /etc/apache2/other/00-httpd.conf步骤6:在PHP LoadModule指令中,在模块路径后面添加代码签名证书名。
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so "<Your Name>"然后重新启动apache。
https://stackoverflow.com/questions/72449111
复制相似问题