mac osx上的Laravel cron错误

时间:2017-11-09 01:17:25

标签: php macos cron

我只是想在我的项目中使用任务计划,但是当我使用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

解决

我在this找到了Laracasts解决方案。当我改变cron并添加php的完整路径时,它的工作!

0 个答案:

没有答案