Debian 上 PHP 出错的原因非常多,不能一概而论,但常见原因主要集中在以下几类。你可以对照看看属于哪一种,也可以把具体报错信息发给我,我能更精准地帮你定位。
Debian 默认仓库可能有多个 PHP 版本(如 7.4 / 8.2)。
检查:
php -v
which php
如果没装:
sudo apt install php-cli
需要启用 PHP 模块:
sudo apt install libapache2-mod-php
sudo a2enmod php
sudo systemctl restart apache2
Nginx 本身不解析 PHP,必须配合 PHP-FPM:
sudo apt install php-fpm
并在 nginx 配置中:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
比如用了 mysqli、curl、mbstring 但没装:
sudo apt install php-mysql php-curl php-mbstring
查看已加载扩展:
php -m
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
常见错误:
display_errors = Off(看不到错误)upload_max_filesize 太小memory_limit 不够查看使用的 php.ini:
php --ini
例如 Debian 10 默认 PHP 7.3,部分新代码不支持。
# Apache
tail -f /var/log/apache2/error.log
# Nginx + PHP-FPM
tail -f /var/log/nginx/error.log
tail -f /var/log/php8.2-fpm.log
请尽量提供:
cat /etc/os-release)如果你愿意,把报错贴出来,我可以直接帮你分析。