Debian apache2不执行php脚本,而是显示源代码

我知道这可能是大多数网上讨论的主题,我在这里search和堆栈交换,并尝试了各种答案,但他们都没有似乎为我工作,因此为什么我张贴这个。

我有一个Debian与LAMP堆栈,最近不得不升级PHP从5.4到5.6(最新)。

我开始删除像这样的旧版本:

a2dismod php5

sudo apt-get –remove –purge libapache2-mod-php5filter libapache2-mod-php5 libphp5-embed php-pear php5 php5 -cli php5-common php5-curl php5-dev php5-gd php5-mcrypt php5-mysql

将以下内容添加到我的/etc/apt/sources.list文件中:

 deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all deb http://packages.dotdeb.org wheezy-php56-zts all deb-src http://packages.dotdeb.org wheezy-php56-zts all 

并运行以下命令:

 wget https://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg sudo apt-get update sudo apt-get upgrade sudo apt-get install libapache2-mod-php5 php-pear php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-mcrypt php5-mysql php5-mysqlnd 

然后我启用php5这个命令a2enmod php5并重新启动apache2与此命令service apache2 restart

当我到网站上的其中一个PHP脚本,我看到源,脚本没有得到执行。

在服务器上,我可以看到正确安装了PHP5.6:

 root@server:~# php -v PHP 5.6.18-1~dotdeb+zts+7.1 (cli) (built: Feb 6 2016 23:39:42) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies 

我可以看到PHP5模块在apache2中启用:

在这里输入图像说明

这里是这些文件的内容:

  • php5.load
  • php5.conf

我什至尝试重新启动整个服务器,这并没有帮助。 我检查了/var/log/apache2/error.log ,我没有看到任何错误。 我所看到的是:

 [Tue Feb 09 12:52:09 2016] [notice] Digest: generating secret for digest authentication ... [Tue Feb 09 12:52:09 2016] [notice] Digest: done [Tue Feb 09 12:52:09 2016] [notice] Apache/2.2.22 (Debian) mod_ssl/2.2.22 OpenSSL/1.0.1e configured -- resuming normal operations 

我在apache2中使用VirtualHost来为网站提供服务。 这是我的项目:

 <VirtualHost *:80> ServerAdmin [email protected] ServerName www.mydomain.com DocumentRoot /home/setup/public_html <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /home/setup/public_html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> 

任何想法为什么PHP脚本没有得到执行? 我错过了什么? 任何帮助将不胜感激。

好的,我已经修好了

我删除了以下内容:

 # Running PHP scripts in user directories is disabled by default # # 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_flag engine Off </Directory> </IfModule> 

/etc/apache2/mods-enabled/php5.conf重新启动Apache和PHP现在的作品。