Laravel env() 或 config() 在命令行上获取环境变量

Posted

技术标签:

【中文标题】Laravel env() 或 config() 在命令行上获取环境变量【英文标题】:Laravel env() or config() to get environment variable on command line 【发布时间】:2018-03-24 10:26:48 【问题描述】:

我知道在命令行上运行php artisan env 会显示“当前应用程序环境”(例如“生产”)。

但我想要的是能够直接从命令行查看 env('SESSION_DRIVER')config('session.driver') 之类的值。

这可能吗?

(我在docs 中找不到提示。)

【问题讨论】:

这里我再次回到这个问题。我总是忘记如何使用php artisan tinker 【参考方案1】:

你可以运行 Tinker:

php artisan tinker

然后使用以下任何命令:

env('SESSION_DRIVER')
config('session.driver')

Tinker 允许您在命令行上与整个 Laravel 应用程序进行交互,包括 Eloquent ORM、作业、事件等。

https://laravel.com/docs/5.5/artisan#introduction

或者,您可以create an Artisan command 向您显示配置文件中的值:

php artisan show-config-value session.driver

【讨论】:

谢谢!哇,有趣:env('SESSION_DRIVER') 返回 null,但 config('session.driver') 返回 "file"。我想知道为什么env() 找不到值。 有趣!非常感谢。 在 laravel 6 中通过 ssh 工作时我注意到 env('APP_ENV') 命令返回 null。使用config('app.env') @gondwe 在 Laravel 8 上都返回 null。想知道是否还有其他问题【参考方案2】:

您可以在 CMD 或终端中运行 artisan 命令,显示应用程序正在执行的当前环境

php artisan env

【讨论】:

以上是关于Laravel env() 或 config() 在命令行上获取环境变量的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:通过发布第三方包来更新 .env 文件

laravel config:cache 后的小坑

App Debug在Laravel 5.5中不起作用

laravel 配置

Laravel 使用 env 读取环境变量为 null 的问题

laravel 邮件发送消息