运行 Laravel 5.X 中的 cron 作业有 Undefined index with Liebig

Have Undefined index while run the cron job in Laravel 5.X with Liebig

我的 cron 作业出现奇怪的错误。一开始,当我 运行 执行 cron 作业时,它工作正常。那时我通常定义变量。比如,$ck_host='abc';。但是现在我更改代码并从 laravel 的 .env 文件访问相同的变量。比如,$ck_host=$_ENV['CK_HOST'];。当我在浏览器中 运行ning 时,它工作正常。但在 cron 作业中,它显示未定义的索引:CK_HOST。我附上了日志的图像。

注:

我认为:

问题是我在代码中调用.env 文件的地方。该玉米供应商无法使用该功能。 $dotenv = new Dotenv\Dotenv($doc_root); $dotenv->load(); $doc_root 包含环境文件的路径。请再次注意,所有文件都在浏览器中工作,但是当我 运行 cron 时,我也在写一个日志文件。错误就在那里。

请帮助我。或者告诉我如何在没有任何 laravel.

供应商的情况下使用 .env 文件

在此先感谢您的帮助。

终于找到问题的答案了

$_ENV 是通过环境方法传递给当前脚本的变量的关联数组。 See.

但是Laravel覆盖变量并使用它自己的方法。因此,当此文件单独 运行ning 时,则没有错误。但是当它的 运行 通过 Laravel 时,在这种情况下通过 Laravel Cron 方法,它覆盖并且没有找到那些索引。

因此,使用 getenv 函数作为解决方案。比如,$ck_host=getenv('CK_HOST');。它将获取环境变量的值。如果您 运行 单独或通过 Laravel 在这两种情况下都没有错误。