2017-04-04 68 views
1

我已經認識到,如何爲laravel調度程序編寫cron因託管而不同,因此在這種情況下文檔無用。在生產服務器上設置Laravel調度程序(Inmotion主機)

我在以前的主機(siteground)上使用的相同的代碼似乎沒有在我當前的(inmotion)上工作。

運行調度的cron的,我從我的cPanel設置一個似乎工作:

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執行,但不知何故我的應用程序無法執行/usr/bin/php -q /home/xxxxx/xxxxx/artisan {command}

我GOOGLE了它和若干建議,其中使用php-cli,而不是php -q但是PHP-CLI給了我一個command not found錯誤。

於是我問的支持這件事,這就是他們說:

我不能肯定你如何能夠運行與另一 主機的命令,如PHP-CLI是不是爲一個命令php命令行界面。 不幸的是,因爲這不是一個有效的命令,我不知道我是否知道你想通過運行它來完成什麼。

php -q是執行php-cli的選項,這是你應該爲你的cron使用的選項;但只有在您執行的文件的 編碼正確時纔會正確執行。

我一直在這2天了,我的問題是如何得到我的laravel調度,以沒有任何錯誤執行,沒有任何人有部署laravel INMOTION服務器或類似的(流明)應用程序的經驗?提前致謝。 :)

回答

2

因此,它可能有一些做的CLI PHP版本仍然不能確定,但​​我終於得到它與這個工作:

/usr/bin/php -ea_php 70 -q /home/xxxxx/xxxxx/artisan schedule:run 

,然後我編輯我照亮/控制檯/計劃/ Schedule.php文件在第49行到此:

return $this->exec("/usr/bin/php -ea_php 70 -q /home/xxxxx/xxxxx/artisan {$command}", $parameters); 

似乎現在就工作。 :)

相關問題