ChatGPT解决这个技术问题 Extra ChatGPT

如何在 laravel .env 文件中评论?

我正在 Laravel 的一个项目中工作,我在 .env 文件设置中存储一些设置,例如用于测试目的的参数很少,并且很少有参数用于实时工作,所以我只是检查是否有任何方法可以在 Laravel 的 .env 文件中进行评论.

这是一个例子

/* Test Settings */
ACCESS_KEY=qwsdr
ACCESS_TOKEN=Bgcvfsx

/* Live Settings */
ACCESS_KEY=985AsdefG
ACCCESS_TOKEN=LFP994kL

J
Joel Hinz

您使用哈希注释:

# Test Settings
ACCESS_KEY=qwsdr
ACCESS_TOKEN=Bgcvfsx

# Live Settings
ACCESS_KEY=985AsdefG
ACCCESS_TOKEN=LFP994kL

文档:https://github.com/vlucas/phpdotenv#comments


同样在同一行:DEBUGBAR_ENABLED=true # 可能会泄露 MySQL 密码
P
PtrTon

请注意,从 Laravel 5.8 comment parsing in values has changed 开始。

在 Laravel 5.7 中,包含 ENV_VALUE=foo#bar 的 .env 文件将评估为 foo#bar

在 Laravel 5.8 中,相同的 .env 文件将评估为 foo,而 #bar 被视为注释。

要在值中使用 # 字符,请将整个值用双引号括起来,如 ENV_VALUE="foo#bar"


P
Pierre Arnissolle

Laravel 使用 vlucas/phpdotenv 包来解析 .env 文件。

所以根据the doc,你可以这样评论:

# Test Settings
ACCESS_KEY=qwsdr
ACCESS_TOKEN=Bgcvfsx

# Live Settings
ACCESS_KEY=985AsdefG
ACCCESS_TOKEN=LFP994kL

Laravel 5.8 开始,您可以执行以下操作:

ENV_VALUE1=foo#bar
ENV_VALUE2="foo#bar"

将返回:

env('ENV_VALUE1'); // foo
env('ENV_VALUE2'); // foo#bar

用于解析 .env 文件的 phpdotenv 包发布了一个新的主要版本,这可能会影响 env 助手返回的结果。具体来说,未引用值中的 # 字符现在将被视为注释而不是值的一部分: