在 Ubuntu 上配置 PHP 后出现**“空白页面 / 空白输出”,通常不是 PHP 没装,而是运行方式或配置环节断了**。下面按最常见原因逐一排查(90% 的问题都在前 3 条)。
如果你是这样访问的:
file:///var/www/html/index.php
❌ 这是错误的,PHP 不会执行,页面可能空白或显示源码。
✅ 正确方式:
http://localhost/index.php
前提是你装了 Apache / Nginx,并且服务在运行。
sudo apt install apache2
sudo systemctl start apache2
sudo systemctl enable apache2
测试:
curl http://localhost
sudo apt install nginx php-fpm
sudo systemctl start nginx php8.1-fpm
sudo apt install libapache2-mod-php
sudo a2enmod php
sudo systemctl restart apache2
测试文件:
<?php phpinfo(); ?>
放到 /var/www/html/info.php,访问:
http://localhost/info.php
编辑 php.ini(路径可能不同):
php --ini
确保:
display_errors = On
error_reporting = E_ALL
Apache 用户通常:
sudo nano /etc/php/8.1/apache2/php.ini
改完重启:
sudo systemctl restart apache2
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
/etc/nginx/sites-available/default 中必须有:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
然后:
sudo nginx -t
sudo systemctl restart nginx
你可以用这个顺序自查:
php -v # PHP 是否安装
curl http://localhost # Web 服务是否运行
访问 info.php # PHP 是否执行
查看 /var/log/apache2/error.log
如果你愿意,可以直接告诉我:
我可以帮你精确定位。