设置自动重启 php 守护进程

设置自动重启 php 守护进程

我有一个 php 脚本,其中包含来自 Fuelphp 的环境变量,我使用如下命令运行它,FUEL_ENV=production php oil run task但是,我希望它作为守护进程运行,退出时会自动重新启动。它存在的主要原因是由于内存使用,任务处理大量数据并缓慢泄漏(PHP 往往如此)

我尝试了这个但是它使脚本陷入了无法终止的无限循环(所以我甚至没有尝试 nohupping 它因为我认为我无法终止它)

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

那么,设置一个当其存在时会自行重新启动的 PHP 脚本的最佳方法是什么呢?

答案1

感谢@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

相关内容