【发布时间】:2017-11-30 06:44:07
【问题描述】:
我的 cron 作业中有一个奇怪的错误。一开始,当我运行 cron 作业时,它工作正常。那时我通常定义变量。比如$ck_host='abc';。但是现在我更改了代码并从 laravel 的 .env 文件中访问了相同的变量。比如$ck_host=$_ENV['CK_HOST'];。当我在浏览器中运行时,它工作正常。但在 cron 作业中,它显示未定义索引:CK_HOST。我已经附上了日志的图片。
注意:
- 我正在使用vlucas/phpdotenv 访问 env 文件。
- 所有的 crons 都不在 Laravel 中。有一些在核心 PHP 中。问题出在核心 PHP 中。
- 在github 中发布问题。但没看懂答案。
我认为:
问题是我在代码中调用 .env 文件的位置。该玉米供应商无法使用该功能。
$dotenv = new Dotenv\Dotenv($doc_root);
$dotenv->load();
$doc_root 包含 env 文件的路径。请再次注意,所有文件都在浏览器中运行,但是当我运行 cron 时,我也在编写一个日志文件。错误就来了。
请帮助我。或者告诉我如何在没有任何 laravel 供应商的情况下使用 .env 文件。
提前感谢您的帮助。
【问题讨论】:
-
可能是您没有正确加载 env 文件,因此 Dotenv 无法设置环境变量。确保
$doc_root正确。 -
如果我在浏览器中运行 url,它会给我正确的答案。没有错误。
标签: php cron laravel-5.3 laravel-environment