“Debian 上 PHP 报错”是一个比较宽泛的问题,因为报错原因有很多,而且不同场景(Web 访问、命令行、安装、升级)报错完全不同。
下面我按常见场景 + 典型报错 + 解决办法给你梳理一下,你可以对照自己的情况。
现象
.php 直接下载或 500Invalid command 'php'解决
sudo apt install libapache2-mod-php
sudo a2enmod php
sudo systemctl restart apache2
现象
php -v 正常解决
php -v
ls /etc/apache2/mods-enabled/ | grep php
如果版本不一致:
sudo a2dismod php7.4
sudo a2enmod php8.2
sudo systemctl restart apache2
现象
Permission denied/var/log/apache2/error.log解决
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
php: command not foundsudo apt install php-cli
现象
Class 'mysqli' not found
sudo apt install php-mysql
sudo systemctl restart apache2
常用扩展:
php-curl php-gd php-mbstring php-xml php-zip
原因
systemctl status php8.2-fpm
Nginx 配置示例:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
php8.0+ 移除了很多旧写法each()、create_function() 已删除查错误:
php -l file.php
# Apache
tail -f /var/log/apache2/error.log
# Nginx + PHP-FPM
tail -f /var/log/php8.2-fpm.log
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
请把以下信息发我:
cat /etc/os-release)php -v)我可以直接帮你“对症修”。