我按照此链接的教程在带有 apache 的 Centos 6.5 上使用 php7 或 phpng。
我可以在控制台中执行 php 脚本,但我希望能够使用 Apache 服务器运行 php 脚本。
我需要一些帮助,因为我找不到 libphp7.so 模块。我不知道我是否必须构建它或什么。
我相信您需要添加--with-apxs2
到您的配置脚本中。根据您提供的链接,我在配置标志中没有看到。--with-apxs2
将“构建共享的 Apache 2.0 处理程序模块”。您可能还需要确保在您的 apache 配置中具有:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
我第一次构建 php7 时它只是显示源代码而不是执行它,但添加它会导致它执行代码。
如果您想使用 Docker 进行尝试,我刚刚在https://registry.hub.docker.com/u/silintl/php7/上为 PHP7 创建了一个 Docker 映像,您也可以查看包含所有命令的 Dockerfile安装和配置它。
在/etc/httpd/conf.modules.d/15-php.conf
由父配置文件加载的配置文件中,/etc/httpd/conf/httpd.conf
我找到了以下默认配置:
<IfModule !mod_php5.c>
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
</IfModule>
<IfModule !mod_php5.c>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</IfModule>
</IfModule>
使用@JanePage 和@PhilipShipley 提供的信息,我将其更改为:
LoadModule php7_module modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
和 Apache 开始工作正常。
感谢菲利普为这个问题提供了一些线索,但就我而言,我已经通过这种方式解决了我的问题:
1 - 使用以下命令复制库 php7.so 到 apache 模块目录:sudo cp /etc/httpd/modules/libphp7.so /opt/bitnami/apache2/modules
2 - 在您的 Apache 配置文件中添加以下代码:
LoadModule php7_module ./modules/libphp7.so SetHandler application/x-httpd-php
之后 PHP 运行良好!