编辑:我决定只是消灭我的Apache和PHP安装,并从头开始。 现在事情正在起作用,不知道为什么他们不在之前。 我可能已经build立了30个不同的LAMP型服务器,从来没有遇到过这个问题,我想我只是把这个问题搞砸了。
原始问题如下:
问候,
PHP文件没有在我的networking服务器上正确执行。 我有一个testing文件如下:
<html> <head> <title>Testing PHP</title> </head> <body> <?php phpinfo( ); ?> </body> </html>
这里是我安装的PHP和Apache包:
$ dpkg -l | grep的PHP ii libapache2-mod-php5 5.2.6.dfsg.1-3ubuntu4.2 ii php-config 1.10.11-1 ii php-pear 5.2.6.dfsg.1-3ubuntu4.2 ii php5 5.2.6.dfsg.1-3ubuntu4.2 ii php5-cgi 5.2.6.dfsg.1-3ubuntu4.2 ii php5-cli 5.2.6.dfsg.1-3ubuntu4.2 ii php5-common 5.2.6.dfsg.1-3ubuntu4.2 ii php5-mysql 5.2.6.dfsg.1-3ubuntu4.2 $ dpkg -l | grep apache ii apache2-mpm-prefork 2.2.11-2ubuntu2.3 ii apache2-utils 2.2.11-2ubuntu2.3 ii apache2.2-common 2.2.11-2ubuntu2.3 ii libapache2-mod-auth-mysql 4.3.9-11 ii libapache2-mod-php5 5.2.6.dfsg.1-3ubuntu4.2
这里是我的PHP相关的configuration线:
$ grep -n php /etc/apache2/apache2.conf /etc/apache2/mods-enabled/php5.* /etc/apache2/httpd.conf /etc/apache2/mods-enabled/php5.conf:1:<IfModule mod_php5.c> /etc/apache2/mods-enabled/php5.conf:2:AddType应用程序/ x-httpd-php .php .phtml .php3 /etc/apache2/mods-enabled/php5.conf:3:AddType应用程序/ x-httpd-php-source .phps /etc/apache2/mods-enabled/php5.load:1:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
正如你所看到的,php5模块被加载。 我可以确认这是一个2enmod表明它已经加载。
目前,尝试在浏览器中加载PHP文件只是将其显示为原始文本。
奇怪的是,在试图解决这个问题的时候,我发现如果我在httpd.conf的底部添加一行“AddType application / x-httpd-php .php .phtml .php3”,那么它会突然要求我下载这些PHP文件,而不是。 这很奇怪,考虑到这样一行是在php5.conf模块文件相同。
显然,既不是期望的行为。
另外,是的,apache2,现在甚至服务器本身已经重新启动了无数次。 Apache在正常的HTML页面上运行并不麻烦。
有任何想法吗?
当我做同样的grep我的configuration文件,我得到一个你没有的行:
/etc/apache2/mods-enabled/dir.conf:3:DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
确保/etc/php5/apache2/php.ini
这一行是这样设置的:
; 在Apache下启用PHP脚本语言引擎。
引擎=开
如果更改它,请重新启动Apache:
sudo apache2ctl restart
什么是在你的php.ini文件中设置的short_open_tag
选项? 我经常错过打开 – 所以我知道你可能会感觉如何。 一些软件包维护者将此选项设置为“0”false。 请参阅http://www.php.net/manual/en/ini.core.php
单单这个命令可能有助于:
sudo apache2ctl restart
我遇到了类似的情况,这对我也是如此。