繁体   English   中英

apache2.4建立找不到php5.3

[英]apache2.4 build not finding php5.3

我要在生产服务器上升级较旧版本的MediaWiki之前设置测试服务器。 我正在尝试复制生产服务器上的内容-apache2.4和php5.3。

当我尝试访问任何php文件时,服务器将其显示为文本而不是运行它。

这些都在Ubuntu 12.04 LTS上运行。 可用的apache软件包是2.2版,因此我不能简单地apt-get。

我已经从源代码构建了Apache 2.4,它可以正确地从我指定的DocumentRoot中提供index.html。

在httpd.conf中,我添加了:

DocumentRoot = /var/www
AddType application/x-httpd-php .php
<filesMatch>"\.php$:"
   SetHandler application/x-httpd-php .php
</filesMatch>

我已经安装了php5.3,并且可以正常工作-我可以从命令行运行phpinfo.php。

我在/etc/php5/apache2/php.ini中(错误显示仅用于测试):

engine = On
display_errors = On 
display_startup_errors = On 
doc_root = /var/www

我无法在httpd.conf或httpd的安装目录(/ usr / local / apache2)中找到对任何mod_php的引用。

Web上的一些参考提到“模块可用”和“模块启用”,但是这些似乎是Debian所添加的一种便利,而不是apache源代码构建的一部分。

我想念什么? 我敢肯定这很简单。

在从多个存储库中搜索并使用了apache和php的软件包,并尝试从源代码构建这两个软件包之后,我确定似乎没有libphp5.so与apache 2.4兼容。 无论如何,我没有找到它。

我将所有内容重新配置为将php用作cgi而不是模块,并以这种方式工作,这足以满足我的预期目的。

您需要在httpd.conf中加载php模块:

在我的Linux Slackware上,我在/etc/httpd/mod_php.conf中有此文件

LoadModule php5_module lib/httpd/modules/libphp5.so

# Tell Apache to feed all *.php files through PHP.  If you'd like to
# parse PHP embedded in files with different extensions, comment out
# these lines and see the example below.
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

在/etc/httpd/httpd.conf中:

# php
Include /etc/httpd/mod_php.conf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM