🚨 PHP-FPM重啟失敗? 1分鐘搞定Unit php-fpm.service not found

你的系統找不到 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 版本查詢技巧! 👇👇

🚨 PHP-FPM重啟失敗? 1分鐘搞定Unit php-fpm.service not found

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

總結

  1. 確定PHP 版本 (php -v)
  2. 使用正確的服務名 (php7.4-fpmphp8.1-fpm 等)
  3. 檢查PHP-FPM 是否安裝 (dpkg -l | grep php)
  4. 手動啟動 (/usr/sbin/php-fpm)
  5. 如果沒有Systemd 服務,手動建立

你可以嘗試這些方法,看看哪一個能解決你的問題! 💡

發表評論

您的郵箱地址不會被公開。 必填項已用 * 標註

文章目錄
回到頁首