Ubuntu 下 PHP 报错的原因非常多,必须结合具体报错信息才能精确定位。不过我可以先给你一个常见原因速查清单,你可以对照排查;如果你愿意,把完整报错内容贴出来(终端 / 浏览器 / 日志),我可以一步到位帮你解决。
php -v
如果提示 command 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 或站点配置中有:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
例如:
Undefined class 'mysqli'Call to undefined function curl_init()解决:
sudo apt install php-mysql php-curl php-mbstring php-xml
sudo systemctl restart apache2 # 或 php-fpm
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
这是错误显示被关闭了。
临时调试(不推荐生产环境):
ini_set('display_errors', 1);
error_reporting(E_ALL);
或查看日志:
# Apache
tail -f /var/log/apache2/error.log
# Nginx + PHP-FPM
tail -f /var/log/php*-fpm.log
Ubuntu 常同时存在多个 PHP 版本:
update-alternatives --config php
composer install
composer dump-autoload
把下面内容贴出来,我可以立刻判断:
php -v
nginx -v # 或 apache2 -v
✅ 一句话总结
Ubuntu 下 PHP 报错通常是:PHP 没装好、Web 服务没解析 PHP、扩展缺失、权限不对或日志没开。
如果你愿意,把报错贴出来,我直接给你精确解决方案。