【问题标题】:Cron Jobs Parse errorCron 作业解析错误
【发布时间】:2015-12-11 10:58:20
【问题描述】:

我正在开发 laravel 5.1 应用程序,我需要使用 Laravel 任务计划,它在我的本地服务器上运行良好。

但是当我在我的网络托管服务器上使用 cron 作业时,我遇到了这个错误

Parse error: syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE or '$' in /home/titglobal/public_html/ElAQSA/artisan on line 31

这是我服务器中的 Cron 命令

/usr/local/bin/php /home/titglobal/public_html/ElAQSA/artisan schedule:run > /home/titglobal/cron.log 2>&1

注意:我也尝试使用 * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

因为 laravel Doc 在 html 页面中提到了同样的错误

我的应用程序使用 PHP 5.6,但网络托管服务器 php v 5.3 中的默认 php 版本

【问题讨论】:

  • 这不是 cron 问题。那是你的 php 脚本爆炸了。您可能正在使用 PHP 5.6 的一个特性,而该特性在 5.3 中不存在,除了不使用新的语言特性或将服务器的 PHP 升级到支持该特性的版本之外,您无法修复它.
  • @MarcB:您的诊断是正确的,但在这种情况下“不使用该语言功能”不是一个选项,因为正在使用的框架本身需要 PHP 5.5+。
  • @MarcB:this is line 31 in question。它不是 OP 自己的代码,它是 Laravel 框架的一部分。修改该行只会将错误移动到框架使用现代功能的下一个位置。
  • @JustUser:显然这不是正确的答案,否则您的脚本会正常工作。创建一个仅包含以下内容的 PHP 文件:<?php echo "PHP version is ", PHP_VERSION;,并设置一个 cron 任务来运行它。检查日志输出以查看它报告的 PHP 版本。如果它报告 5.3,请向您的托管服务提供商展示。
  • @DCoder: 之后托管服务提供商给了我正确的 php 5.5 /usr/local/php55/bin/php 路径,现在它正在工作,感谢您的帮助

标签: php laravel cron cpanel laravel-5.1


【解决方案1】:

我认为您必须查看 php_info 并查看您激活 php ini 的位置(路径)。 然后你就会知道你的 php 可执行文件在哪里。

最后你可以用它来编译你的 cron 文件了。

你也可以使用 SSH。

【讨论】:

  • 感谢@yassine 的帮助,但问题在于 php 路径 没有了
猜你喜欢
  • 1970-01-01
  • 2013-01-25
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 2016-01-29
  • 2015-10-29
  • 1970-01-01
  • 2011-08-31
相关资源
最近更新 更多