Ubuntu 下 PHP 配置报错的原因非常多,不能一概而论,需要看具体报错信息。下面我先给你总结 最常见的几类原因 + 对应解决办法,你可以对照看看是哪一类;如果你愿意把具体报错内容贴出来,我可以精准定位。
现象
phpinfo() 不生效原因
libapache2-mod-phpphp-fpm解决
# Apache
sudo apt install libapache2-mod-php
# Nginx
sudo apt install php-fpm
现象
PHP Warning: Unknown directive常见错误
;检查
php -l /etc/php/8.1/apache2/php.ini
(版本号按你实际来)
报错示例
Class 'xxx' not found
undefined function mysql_connect()
解决
sudo apt install php-mysql php-curl php-mbstring
sudo phpenmod mbstring
sudo systemctl restart apache2
现象
解决
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
Ubuntu 常同时存在:
查看当前
php -v
update-alternatives --list php
切换
sudo update-alternatives --set php /usr/bin/php8.1
典型错误
File not found.
502 Bad Gateway
关键配置
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
php -v
php -m
apache2ctl -M | grep php
systemctl status php8.1-fpm
tail -n 50 /var/log/php*/error.log
请把以下任一内容贴出来:
我可以直接告诉你 哪一行错了、怎么改。