在 Debian 下 PHP 无法解析,通常不是 PHP 本身没装,而是 Web 服务器没有正确调用 PHP 解析器。下面按最常见场景给你系统排查。
php -v
如果没输出,说明没装或没装 CLI。
✅ 安装 PHP(以 PHP 8.2 为例):
sudo apt update
sudo apt install php php-cli php-fpm
apache2ctl -M | grep php
sudo apt install libapache2-mod-php
sudo a2enmod php8.2
sudo systemctl restart apache2
⚠️ 注意:
libapache2-mod-php 和 php-fpm 不要同时启用
说明:
.php 交给 PHP 处理✅ 检查 /etc/apache2/mods-enabled/php8.2.conf 是否存在
✅ 重启 Apache:
sudo systemctl restart apache2
必须配合 php-fpm
sudo apt install php-fpm
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
然后:
sudo nginx -t
sudo systemctl restart nginx
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
✅ 看到 PHP 信息页 → 正常
❌ 看到源码 / 下载 → 没解析
| 现象 | 原因 |
|---|---|
| PHP 文件下载 | Apache/Nginx 没调用 PHP |
| 空白页 | PHP 报错但没显示 |
| 502 | php-fpm 没启动 |
| 403 | 权限问题 |
| 404 | 文件路径错误 |
| Web 服务器 | 推荐方式 |
|---|---|
| Apache | libapache2-mod-php |
| Apache + 高并发 | php-fpm |
| Nginx | php-fpm(必须) |
如果你愿意,可以直接把下面信息发我,我可以精准定位:
1️⃣ Debian 版本(cat /etc/os-release)
2️⃣ Web 服务(Apache / Nginx)
3️⃣ PHP 版本(php -v)
4️⃣ 访问 PHP 时的具体现象(下载 / 空白 / 报错)
我可以一步一步带你修 ✅