首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache无法在php7 - macOS上加载macOS模块

Apache无法在php7 - macOS上加载macOS模块
EN

Stack Overflow用户
提问于 2022-05-31 13:54:55
回答 1查看 1K关注 0票数 2

我已经在我的Mac上安装了php@7.4和brew。一切都很好,但是当我在Safari中打开本地主机时,它只向我展示了php代码。

我的代码:

代码语言:javascript
复制
<?php
echo "Hello world";

以及在localhost上的结果:本地主机结果

我觉得这是我的问题。我将这一行添加到http.conf文件中,在localhost中没有任何操作(Safari无法连接到服务器"localhost")。

代码语言:javascript
复制
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-31 16:25:34

最后我找到了解决办法。macOS中的守门员确保只有经过验证的应用程序才能被执行,这是通过使用codesign对应用程序进行签名来实现的。代码签名在macOS Big上是可选的,而且是优先的,但自macOS蒙特雷以来是强制性的。

使用国产软件安装的PHP模块没有签名,因此您需要先对其签名,然后才能使用它。

在使用codesign实用程序对PHP模块进行签名之前,我创建代码签名证书和代码签名证书。

步骤1:如何在macOS中创建代码签名证书颁发机构

步骤2:如何在macOS中创建代码签名证书

步骤3:从Apache指令中定位PHP模块的位置或路径。

代码语言:javascript
复制
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模块进行签名。

代码语言:javascript
复制
codesign --sign "<Your Name>" --force --keychain /Library/Keychains/login.keychain-db /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so

步骤5:使用首选的文本编辑器使用PHP指令打开文件。

代码语言:javascript
复制
sudo nano /etc/apache2/other/00-httpd.conf

步骤6:在PHP LoadModule指令中,在模块路径后面添加代码签名证书名。

代码语言:javascript
复制
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so "<Your Name>"

然后重新启动apache。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72449111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档