在 Debian 上 PHP 本身通常不是一个“服务”,所以“PHP 无法启动”一般有以下几种常见情况。我按最常见原因 → 排查方法给你说明。
如果你是用 Nginx + PHP,那真正启动的是 php-fpm,不是 php 命令。
systemctl status php-fpm
# 或(Debian 常见)
systemctl status php8.2-fpm
journalctl -xe
常见错误:
ERROR: unable to bind listening socket
解决:
vim /etc/php/8.2/fpm/pool.d/www.conf
确认:
listen = /run/php/php8.2-fpm.sock
或端口未被占用。
php-fpm8.2 -t
如果有错误,会直接提示哪一行。
user = www-data
group = www-data
确保:
ls -l /run/php/
如果是 Apache:
apt install libapache2-mod-php
a2enmod php8.2
systemctl restart apache2
php -v
报错:
command not found
解决:
apt install php-cli
说明 PHP 没被解析:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
php -v
systemctl status php8.2-fpm
journalctl -xe
php-fpm8.2 -t
如果你愿意,可以把下面信息发我,我能精准帮你定位:
cat /etc/os-release)我可以一步一步带你修。