You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8应用运行时/public/index.php突然显示PHP纯文本如何解决

Laravel 8 返回PHP纯文本故障排查方案

相关故障截图:
故障页面截图
服务状态截图

该故障本质是Web服务器没有正确解析PHP代码,直接将源码返回给客户端,按照以下步骤逐一排查即可:

1. 检查PHP服务运行状态

  • 如果你使用PHP-FPM模式(Nginx默认、Apache部分场景使用),执行对应版本的状态检查命令,示例如下(将php8.0-fpm替换为你服务器实际安装的PHP版本):
    systemctl status php8.0-fpm
    若服务处于停止状态,执行启动命令:
    systemctl start php8.0-fpm
    如需设置开机自启,额外执行:
    systemctl enable php8.0-fpm
  • 如果你使用Apache的mod_php模式,检查PHP模块是否正常启用:
    a2enmod php8.0
    执行完成后重启Apache服务:
    systemctl restart apache2

2. 校验Web服务器配置

Nginx 场景

  • 检查站点配置文件中PHP解析规则是否存在、配置是否正确,核心配置段参考如下:

location ~ .php$ {
fastcgi_pass unix:/run/php/php8.0-fpm.sock; # 需和实际fpm监听的sock路径或端口一致
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}

  • 配置修改后执行语法校验,确认没有错误:
    nginx -t
    校验通过后重启Nginx生效:
    systemctl restart nginx

Apache 场景

  • 检查public目录下Laravel自带的.htaccess文件是否存在、规则是否被篡改,确保伪静态规则正常
  • 检查站点配置中对应站点的目录配置项,确认AllowOverride All已开启,否则.htaccess规则不会生效

3. 排查近期操作与权限问题

  • 确认近期是否执行过系统更新、PHP版本升级、Web服务器配置修改操作,若有版本变更,需要同步更新Web服务器中对应PHP版本的配置参数
  • 检查public目录以及index.php文件权限,确保Web服务器运行用户(通常为www-data)有可读权限,可执行以下命令修复:
    chmod 644 public/index.php
    chmod 755 public

4. 快速验证定位

在public目录下新建info.php文件,写入内容:
<?php phpinfo(); ?>
访问该文件:

  • 如果仍然返回纯文本:故障属于服务器层面的PHP解析配置问题,和Laravel应用无关,重点排查前三项即可
  • 如果正常输出PHP信息:排查Laravel的index.php是否被篡改、是否存在语法错误,或者应用层面的PHP版本兼容问题

内容的提问来源于stack exchange,提问作者Jafer P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:36:03