你的系統找不到 php-fpm.service,可能有以下幾種情況:
1. 檢查PHP-FPM 版本
不同的 Linux 發行版和PHP 版本,php-fpm 服務名稱不同。先檢查PHP 版本:
php -v
比如輸出:
PHP 8.1.2 (cli) (built: Jan 23 2022 09:47:36) ( NTS )
說明你在使用 PHP 8.1的,那麼PHP-FPM 的服務可能是 php8.1-fpm。
你可以用以下指令查看特定的FPM 進程:
ps aux | grep php-fpm
如果輸出類似:
root 1234 0.0 0.1 123456 12345 ? Ss 12:34 0:00 php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)
那你的服務名是 php8.3-fpm。
嘗試:
sudo systemctl restart php8.3-fpm
📌 點擊下方鏈接,馬上掌握超簡單的 赫斯提亞CP PHP 版本查詢技巧! 👇👇

2. 尋找PHP-FPM 服務名稱
如果不確定PHP-FPM 的服務名稱,可以用:
systemctl list-units --type=service | grep fpm
或者:
systemctl | grep php
如果返回:
php7.4-fpm.service loaded active running The PHP 7.4 FastCGI Process Manager
說明你的PHP 版本是7.4,正確的指令應該是:
sudo systemctl restart php7.4-fpm
3. 檢查PHP-FPM 是否已安裝
如果 systemctl 裡找不到 php-fpm,說明PHP-FPM 可能沒安裝。可以運行:
dpkg -l | grep php
如果沒有 php-fpm 相關包,安裝它:
sudo apt update
sudo apt install php-fpm
然後再嘗試:
sudo systemctl restart php-fpm
4. 手動啟動PHP-FPM
如果 systemctl 還是找不到服務,可以手動啟動:
sudo /usr/sbin/php-fpm
然後檢查進程:
ps aux | grep php-fpm
如果PHP-FPM 啟動了但 systemctl 仍然找不到服務,你可以建立一個Systemd 設定檔:
sudo nano /etc/systemd/system/php-fpm.service
添加:
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target
[Service]
ExecStart=/usr/sbin/php-fpm
Restart=always
User=www-data
Group=www-data
[Install]
WantedBy=multi-user.target
然後:
sudo systemctl daemon-reload
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
總結
- 確定PHP 版本 (
php -v) - 使用正確的服務名 (
php7.4-fpm或php8.1-fpm等) - 檢查PHP-FPM 是否安裝 (
dpkg -l | grep php) - 手動啟動 (
/usr/sbin/php-fpm) - 如果沒有Systemd 服務,手動建立
你可以嘗試這些方法,看看哪一個能解決你的問題! 💡
希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《🚨 PHP-FPM重啟失敗? 1分鐘搞定Unit php-fpm.service not found》,對您有幫助。

