在本地主机上显示PHP源代码

我有apache2(服务器版本:Apache/2.4.7 (Ubuntu) 服务器构建日期:Mar 10 2015 13:05:59),mysql和phpmyadmin。
当通过http://localhost/http://ipaddress访问php文件时,
它显示源代码而不是执行。
Ubuntu 14.04 LTS

enter image description here


2可能是PHP脚本在Apache服务器上无法执行的重复问题。 - muru
@muru,这个问题和那个问题不同。这个问题显示源代码,而那个问题指定文件下载而不是执行。 - Anuj TBE
1这只取决于文件设置的媒体类型,核心问题是一样的。 - muru
5个回答

我能想到三个可能性:
  1. 你没有安装PHP。在这种情况下运行:

    sudo apt-get install php php-mysql
    
  2. 你已经安装了PHP,但是没有启用。你可以尝试运行:

    sudo a2enmod php7  
    sudo service apache2 restart  
    
  3. 你已经安装并启用了PHP,但是你还没有重新启动apache。

    sudo service apache2 restart
    

没有一个对我起作用。这是结果:1. E: 无法找到软件包 php 我尝试了使用 php5,但显示 php5 已经是最新版本。 2. 错误:模块 php5 不存在! 我尝试了使用 php,但得到相同的错误。3. apache2 的配置测试失败。 - Anuj TBE
看起来你没有安装modphp... 尝试执行以下命令:sudo apt-get install libapache2-mod-php5,然后重新启动Apache... 如果还是不行,再尝试运行sudo a2enmod php5。 - Sledge Hammer
我没有帮到自己。现在我只剩下一个解决办法,那就是重新安装Ubuntu。但是,如果在此之前php能够正常工作,对我来说将是救命稻草。 - Anuj TBE
在这种情况下,您可能希望完全重新安装Apache、PHP和MySQL。在终端中执行以下操作:sudo apt-get purge apache2 php5 mysql-server 这将完全删除这些软件包,包括它们的配置文件,因此如果您进行了任何重要更改,请先备份 /etc/apache2、/etc/mysql 和 /etc/php5。之后执行以下操作:sudo apt-get install apache2 php5 mysql-server。请注意,一次性安装它们非常重要,否则 modphp 不一定会被安装。 - Sledge Hammer
1您缺少安装在Apache中使用的PHP5模块的软件包。该软件包名为libapache2-mod-php5 - Dan

你需要安装libapache2-mod-php sudo apt-get install libapache2-mod-php 它不再作为其他软件包的依赖项被引用 在14.04中,它被命名为libapache2-mod-php5,在16.04中,他们去掉了末尾的数字,改为使用一个元包

对于Ubuntu 20.04,我需要运行以下命令:
sudo a2dismod mpm_event    

它告诉你重新启动Apache2,但在这一点上你不需要这样做。然后使用以下命令启用php 7.4:
sudo a2enmod php7.4

然后重新启动Apache2:sudo systemctl restart apache2
希望这能帮到你!

终于找到你的答案,感谢!让它正常工作了。 - DSP
在Ubuntu 20.04的全新安装上完美运行,太棒了!非常感谢! - Vincent Decaux
@FlyGuy - 如果服务器正在使用map_event模式,怎么办? - Kiran RS

今天早上升级到Ubuntu 17.10后,我的答案是Sledge Hammer和GM-Script-Writer-62850答案的结合。我需要的确切命令是:

sudo apt-get install libapache2-mod-php
sudo a2enmod php7.1
systemctl restart apache2

在升级到Ubuntu 20.04至22.04后,我也遇到了这个问题,并且重新安装phpmyadmin后无法正常工作,但经过我搜索了1-2小时,最终这个方法对我有效。我的PHP版本是8.1,MySQL版本是8.0。
sudo add-apt-repository ppa:ondrej/php
sudo apt-get install libapache2-mod-php8.1
sudo a2enmod php8.1
systemctl restart apache2

工作得像魔法一样! - Ravi Maniyar

  • 相关问题