“Ubuntu 上 PHP 报错”原因非常多,不同场景报错完全不同。先给你最常见的几类原因 + 排查方法,你可以对照看;如果还不行,把具体报错信息贴出来我可以直接帮你定位。
php -v
如果提示:
Command 'php' not found
说明没装:
sudo apt update
sudo apt install php php-cli
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
Nginx 不自带 PHP,必须装 PHP-FPM:
sudo apt install php-fpm
并确认 nginx.conf 或站点配置里有:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
报错类似:
Permission denied
解决:
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
例如:
Class 'mysqli' not found
安装扩展:
sudo apt install php-mysql
sudo systemctl restart apache2 # 或 php-fpm
查看真正报错:
sudo tail -n 50 /var/log/apache2/error.log
# 或
sudo tail -n 50 /var/log/nginx/error.log
本地先测:
php index.php
如果有语法错误会直接显示。
你可以依次检查:
php -v 能跑直接贴:
php -v)我可以直接帮你给出精确解决方案。