“Debian + PHP 报错”是一个比较宽泛的问题,常见原因很多。下面我按最常见场景给你一个通用排查思路 + 典型错误解决方法,你可以对照使用。如果遇到具体报错,把完整错误信息贴出来,我可以更精准地帮你。
cat /etc/debian_version
php -v
dpkg -l | grep php
php: command not foundPHP 没安装,或不在 PATH 中。
sudo apt update
sudo apt install php php-cli
验证:
php -v
PHP 模块未启用。
sudo apt install libapache2-mod-php
sudo a2enmod php*
sudo systemctl restart apache2
查看是否启用:
apache2ctl -M | grep php
PHP-FPM 没启动或配置错误。
sudo apt install php-fpm
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Nginx 示例配置:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
extension not found / undefined function缺少 PHP 扩展。
Call to undefined function curl_init()
sudo apt install php-curl
sudo systemctl restart apache2 # 或 php-fpm
常用扩展:
php-mysql php-gd php-mbstring php-xml php-zip
运行 PHP 的用户无权限。
ps aux | grep apache
ps aux | grep php
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
/var/log/apache2/error.log
/var/log/nginx/error.log
/var/log/php*-fpm.log
sudo nano /etc/php/*/apache2/php.ini
display_errors = On
error_reporting = E_ALL
update-alternatives --display php
sudo update-alternatives --config php
✅ php -v 是否正常
✅ Apache / Nginx 是否重启
✅ PHP 模块是否启用
✅ 错误日志有没有提示
✅ 文件权限是否正确
你可以直接贴出:
我可以直接给你一步一步的命令级解决方案。