温馨提示×

ubuntu php为何白屏

小樊
47
2026-09-04 12:41:32
栏目: 编程语言

Ubuntu 下 PHP 白屏(Blank Page / White Screen of Death)通常不是“没反应”,而是错误被隐藏了,常见原因和排查方法如下:


一、最常见原因

1. PHP 报错被关闭(display_errors = Off)

白屏但页面源码是空的,多半是出错但没显示

解决:

sudo vim /etc/php/8.1/apache2/php.ini
# 或 fpm / cli 看你用的

修改:

display_errors = On
error_reporting = E_ALL

重启:

sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm

2. 代码语法错误 / 致命错误

如:

  • 少了 ;
  • 调用不存在的函数
  • 引入文件失败

查看错误日志:

tail -f /var/log/apache2/error.log
# 或
tail -f /var/log/php8.1-fpm.log

3. 文件权限问题

PHP 无法读取文件也会导致白屏。

ls -l /var/www/html

确保:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

4. 未安装 PHP 或模块未启用

确认 PHP 是否工作:

php -v

浏览器访问:

<?php phpinfo(); ?>

如果还是白屏 → Apache/Nginx 没解析 PHP。

Apache:

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

Nginx: 需要 fastcgi_pass 正确指向 php-fpm。


5. 死循环 / 内存耗尽

  • while(true)
  • 递归过深
  • memory_limit 太小

查看:

memory_limit = 128M

6. header 前有输出(少量情况)

虽然通常会报错,但某些框架会静默失败。


二、快速自测清单 ✅

  • [ ] phpinfo() 是否正常
  • [ ] Apache/Nginx 错误日志
  • [ ] display_errors 是否开启
  • [ ] 文件权限是否正确
  • [ ] PHP 模块是否加载

如果你愿意,可以告诉我:

  • 用的是 Apache 还是 Nginx
  • PHP 版本
  • 是否框架(Laravel / ThinkPHP / 原生)

我可以直接帮你定位到具体配置。

0