Php 在生产服务器上设置Laravel调度程序(Inmotion托管)
我逐渐意识到,为laravel调度器编写cron的方式因主机而异,因此在这种情况下,文档是无用的 我在以前的主机(siteground)上使用的代码在当前主机(inmotion)上似乎不起作用 运行调度程序的cron(我从CPanel设置的)似乎可以工作:Php 在生产服务器上设置Laravel调度程序(Inmotion托管),php,laravel,cron,laravel-scheduler,Php,Laravel,Cron,Laravel Scheduler,我逐渐意识到,为laravel调度器编写cron的方式因主机而异,因此在这种情况下,文档是无用的 我在以前的主机(siteground)上使用的代码在当前主机(inmotion)上似乎不起作用 运行调度程序的cron(我从CPanel设置的)似乎可以工作: php -q /home/xxxxx/xxxxx/artisan schedule:run 我说这似乎有效,因为每当我的cron运行时,我都会收到这封电子邮件: Running scheduled command: /usr/bin/php
php -q /home/xxxxx/xxxxx/artisan schedule:run
我说这似乎有效,因为每当我的cron运行时,我都会收到这封电子邮件:
Running scheduled command: /usr/bin/php -q /home/xxxxx/xxxxx/artisan {command} > '/dev/null' 2>&1 &
现在,上面的脚本似乎没有执行,它只是挂起,进程堆积起来,占用我的内存,直到我的整个服务器崩溃
所以我在这里很困惑,为什么php-q/home/xxxxx/xxxxx/artisan schedule:run
execute,但不知何故我的应用程序无法执行/usr/bin/php-q/home/xxxxx/xxxxx/artisan{command}
我在谷歌上搜索了它,并给出了一些建议,建议在哪里使用phpcli
而不是php-q
,但是phpcli给了我一个命令未找到
错误
所以我问了他们对此的支持,他们是这么说的:
我不确定你是如何用另一个命令运行该命令的
主机,因为php cli不是php命令行界面的命令。
不幸的是,因为这不是一个有效的命令,我不确定是否
通过运行它,了解您试图实现的目标
php-q是执行PHPCLI的选项,您应该这样做
为你的亲信服务;但是,只有当
正在执行的文件的编码是正确的
我已经做了两天了,我的问题是如何让我的laravel调度程序在没有任何错误的情况下执行,是否有人有在inmotion服务器或类似服务器上部署laravel(lumen)应用程序的经验?提前感谢。:) 因此,它可能与cli php版本有关,但仍不确定,但我最终让它与以下内容一起工作:
/usr/bin/php -ea_php 70 -q /home/xxxxx/xxxxx/artisan schedule:run
然后我在第49行编辑了我的illumb/Console/Scheduling/Schedule.php文件,如下所示:
return $this->exec("/usr/bin/php -ea_php 70 -q /home/xxxxx/xxxxx/artisan {$command}", $parameters);
现在似乎可以工作了。:)