Php

設置自動重啟 php 守護程序

  • November 10, 2020

我有一個帶有來自 Fuelphp 的環境變數的 php 腳本,我使用類似的命令執行FUEL_ENV=production php oil run task它,但我希望它作為一個守護程序執行,當它退出時會自動重新啟動。它存在的主要原因是由於記憶體使用,任務處理大量數據並緩慢洩漏(正如 PHP 所傾向於的那樣)

我試過了,但它使腳本陷入了一個我無法殺死的無限循環(所以甚至沒有嘗試過 nohup,因為我認為我不能殺死它)

while true; do FUEL_ENV=production php oil run task && break; done &

那麼設置一個 PHP 腳本的最佳方法是什麼,它會在它存在時自行重啟。

感謝@Michael Hampton。想出瞭如何使用環境變數為 php 設置 systemd 並且效果很好。

[Unit]
Description=<description>
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=paullb
Environment=FUEL_ENV2=development
ExecStart=/usr/bin/php /var/www/<dir>/oil r <name>

[Install]
WantedBy=multi-user.target

引用自:https://serverfault.com/questions/1040715