Cron 作业失败 - PHP 版本错误?

Cron job failing - wrong PHP version?

适用于本地 WAMP

php artisan schedule:run 在我的本地 WAMP 上按预期工作。

错误:当 运行在网络托管服务器上运行时

当我在我的虚拟主机服务器上 运行 php artisan schedule:run 时,它崩溃了。 错误日志:

Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/sites/p/mysite.com/delayed/artisan on line 30

我认为是:PHP版本问题

相信这是一个 php 版本错误问题(托管服务器上的 cron 作业是 5.3,L5 需要 5.5.9...) http://laravel.io/forum/06-10-2015-laravel-5-error-on-installation

简单修复不起作用

我根据 http://laravel.io/forum/03-03-2015-console-command-fails-when-executed-by-cpanel

实施了在我的 artisan 文件顶部添加 #!/usr/bin/php-5.6/php-cli 的解决方案

但它不会 'bite',当 运行nning php-5.6 artisan schedule:run 在 shell 上它生成

Running scheduled command: 'usr/local/bin/php' 'artisan' download:delays > 'var/sites/p/mysite.com/delayed/storage/logs/cron.log' 2>&1

这意味着它将触发 'standard' php,不幸的是,对于我的 Web 提供商来说,它是 5.3 on cronjobs..

问题:如何启动 CRON 作业 PHP 5.6?

关于如何让 artisan 触发 php5.6 而不是服务器默认值的任何想法?

答案是在 cron 作业的 php 末尾应用 -cli。

已更改:

/usr/bin/php-5.6 /var/sites/p/mysite.com/delayed/artisan schedule:run

至:

/usr/bin/php-5.6-cli /var/sites/p/mysite.com/delayed/artisan schedule:run

感谢 Llama 先生和 Bogdan 先生指引我正确的方向!

希望这对以后遇到类似问题的其他人有所帮助。