Apache22显示PHP源代码

我刚刚安装了Apache22,PHP 5与Apache模块和MySQL。 Apache conf文件具有PHP LoadModule行,但仍显示PHP源代码。 这是否有其他原因?

一个常见的原因是,您正在使用PHP短打开标签<? 但是PHP已经禁用了short_open_tag

我认为你可能需要设置一个应用程序types,所以它知道使用基于文件扩展名或类似的PHP模块。

我不使用FreeBSD,所以我不知道安装过程。 在Windows和Ubuntu / Linux Mint上,这是自动完成的。

这就是我在一个名为php5.conf的文件(它是如何在Ubuntu中组织的),但是这可以放在你的加载模块行之后的任何地方。

 <IfModule mod_php5.c> <FilesMatch "\.ph(p3?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> # To re-enable php in user directories comment the following lines # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it # prevents .htaccess files from disabling it. <IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule> 

最简单的解决方法是添加一行:

 AddType application/x-httpd-php .php 

在httpd.conf中。 在Gohn67的回应中描述了最正确的解决scheme。