“Debian 上 PHP 出错”是个很宽泛的问题,错误原因取决于具体错误表现和场景。下面我按常见类型帮你快速定位,并给出排查方法。
错误示例
php: command not found
原因
php-cli 但没装主包解决
sudo apt update
sudo apt install php-cli
php -v
现象
.php 文件Apache 解决
sudo apt install libapache2-mod-php
sudo a2enmod php
sudo systemctl restart apache2
Nginx 解决(要点)
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
并确保:
sudo apt install php-fpm
sudo systemctl restart nginx php-fpm
Debian 可能同时有:
php7.4php8.2查看当前版本
php -v
update-alternatives --list php
切换版本
sudo update-alternatives --set php /usr/bin/php8.2
错误示例
Class 'mysqli' not found
解决
sudo apt install php-mysql
sudo systemctl restart apache2 # 或 php-fpm
常用扩展:
php-cli php-fpm php-mysql php-xml php-mbstring php-curl php-gd
错误示例
Permission denied
常见原因
/var/www 属主不对解决
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
修改 php.ini
display_errors = On
error_reporting = E_ALL
CLI:
php -i | grep php.ini
Web:
<?php phpinfo(); ?>
请确认:
cat /etc/debian_version)php -v)你可以把具体报错内容贴出来(哪怕一行),例如:
我可以根据报错精确到原因和命令。