我只是想在我的项目中使用任务计划,但是当我使用cron时,laravel命令无效。我尝试用日志文件捕获错误,这就是我找到的。
Parse error: parse error in /Users/username/Sites/application-name/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 233
每次cron运行时,它总是将此错误添加到日志文件中,没有其他详细信息。我尝试使用此命令手动运行命令
php artisan schedule:run
该命令正在运行。然后我尝试在linux(ubuntu)上运行该项目,它的工作也是如此!那么问题是什么以及如何解决它?
这是我的crontab
* * * * * php ~/Sites/application-name/artisan schedule:run >> /Users/username/Sites/schedule.log 2>&1
这是我的日程安排功能
protected function schedule(Schedule $schedule)
{
$schedule->command('data:get')->everyTenMinutes();
}
我使用mac osx sierra 10.12.6并使用serv命令运行项目。
php artisan serv
感谢。
更新1
helpers.php
232 if (is_string($arguments[0])) {
233 return app('cache')->get($arguments[0], $arguments[1] ?? null);
234 }
更新2
我将cron更改为此
* * * * * php --version $HOME/Sites/application-name/artisan schedule:run >> /Users/username/Sites/cron.log 2>&1
这是输出。
PHP 5.6.30 (cli) (built: Feb 7 2017 16:18:37)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
我使用php 7.1进行项目,但cron使用的是php 5.6。如何改变?
更新3
$ php --version
PHP 7.1.8 (cli) (built: Aug 7 2017 15:02:45) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
解决