在FreeBSD上启动PHP脚本


PHP script on FreeBSD start up

我必须运行PHP脚本作为一个服务。它也应该在启动时运行(当系统崩溃/重启发生时)。我尝试了一个一年运行一次的cron作业。一旦cron触发了该进程,我就在运行该进程时将其注释掉。但是在系统重启后进程停止了。

我也试过了,但在关闭终端进程后停止了。我也不确定它是否会在启动时运行?下面是我的php脚本。

<?php 
   while (true) {
      $command = "php $cwd'artisan synchronizedb --ptype=2";
      exec($command);
   }
?>

FreeBSD有一个非常好的工具叫做daemon,你可以创建一个简单的脚本,像这样

#!/bin/sh
echo "starting XYZ"
daemon -r /path/to/your/script

-r选项,监视并重新启动程序,如果它已被终止。

以后你会有一些选择

  1. 将脚本添加到rc。在本地编辑/etc/rc.local

  2. 文件
  3. 创建一个只在重启时运行的cron:

    @reboot  root /path/to/your/script
    
  4. 把你的脚本放在/usr/local/etc/rc.d只是chmod+x

cron @reboot可能是最简单的。