“Linux 下 PHP 配置出错”是一个比较宽泛的问题,原因可能涉及安装方式、配置文件、权限、模块、版本冲突等。下面我按常见错误类型 + 排查方法给你一个系统性的说明,你可以对照看是哪一种。
表现
PHP Warning: Unknown directivedisplay_errors、upload_max_filesize)排查
php -i | grep php.ini
确认加载的是哪一个 php.ini
检查语法:
php -l /path/to/php.ini
(注意:-l 主要用于 PHP 脚本,ini 错误通常靠日志)
查看错误日志:
tail -f /var/log/php_errors.log
# 或
journalctl -u php-fpm
常见错误
Nginx 示例(易错点)
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
✅ 确认:
php-fpm 已启动报错示例
Class 'PDO' not found
undefined function mysqli_connect()
解决
php -m
查看已加载模块
安装示例(Ubuntu):
sudo apt install php8.1-mysql php8.1-curl php8.1-mbstring
重启:
sudo systemctl restart php8.1-fpm
常见现象
检查
ls -l /var/lib/php/sessions
修复:
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
系统中有多个 PHP 版本时极易出错:
which php
php -v
切换版本(Ubuntu):
sudo update-alternatives --config php
请依次确认:
php -v 正常php-fpm 正常运行你可以直接贴出:
我可以直接帮你定位是哪一行配置出错。