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