Laravel 在首页显示 index.php 代码

12

我正在使用Ubuntu 16.04上的Apache 2.4,在浏览器中显示index.php的内容。

在此输入图片描述

这是我的网站配置文件的代码:

<VirtualHost *:80>

        DocumentRoot /var/www/laravel/public
        ServerName laravel.dev

        <Directory /var/www/laravel/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
</VirtualHost>
为什么主页会将index.php呈现为文本文件?
注意:我已将laravel文件夹权限设置为777。PHP也已安装。

1
可能是重复的问题:为什么我的PHP文件显示为纯文本? - Rwd
但他说他测试了其他PHP网站,它们都可以正常工作。 - Amarnasan
是的,实际上我将Apache的默认index.html重命名为index.php,并且当我指向/var/www/html时它可以正常工作。 - Faizan Ali
刚刚检查了一下,PHP 在任何网站上都无法工作。问题是当我将 Apache 的默认 index.html 重命名为 index.php 时,它呈现了相同的 HTML 内容,我以为它正在工作,但当我在顶部添加了 <?php phpinfo ?> 后,它显示了代码而不是信息。 - Faizan Ali
1
可能是重复的问题:PHP代码未被执行,而是在页面上显示代码 - user3603486
3个回答

19

我在这里找到了解决方案。

实际上,我需要安装libapache2-mod-php并启用它,即运行a2enmod php7.0


16

添加以下命令:

sudo apt-get install libapache2-mod-php7.2

(这会拉取默认的PHP版本)

使用下面的命令重新启动服务以重新加载Apache配置更改:

sudo service apache2 restart

1
我遇到了相同的问题并在寻找答案。在我的情况下,我安装了多个版本的PHP和所有必要的库,包括上面回答中提到的库。
问题的原因是没有正确地在PHP之间切换,我在切换项目时会这样做。再次运行a2dismod php5.6,然后运行a2enmod php7.3(从php5.6切换到php7.3),并重新启动apache即可解决问题。
希望这能帮助像我一样有类似问题的人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接