[英]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.