我需要libphp7.so模块才能在Centos上配置apache

问题描述 投票:4回答:3

我按照此link的教程在apache的Centos 6.5上使用php7或phpng。

我可以在控制台中执行php脚本,但是我希望能够使用Apache服务器运行php脚本。

我需要一些帮助,因为找不到libphp7.so模块。我不知道我是否必须构建它或什么。

php apache centos php-7
3个回答
3
投票

我相信您需要在配置脚本中添加--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。


1
投票

感谢菲利普(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运行良好!


0
投票

在由父配置文件/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开始正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.