【发布时间】:2016-01-03 16:24:30
【问题描述】:
我是一个 PHP 初学者,我发现 Laravel 有 .env 文件来保存一些配置,而 php 也有一个文件格式 .ini 来保存配置。
我想问两者有什么区别,一个比另一个更好。我应该在我的核心项目中添加 dotenv,还是应该为我的配置/环境变量创建类/函数来访问 .ini。
我想了解为什么要创建 dotenv,因为我们已经在 php 中有 ini 文件扩展系统?
【问题讨论】:
-
.env 与当前项目相关,如果您在 .ini 中设置变量,它们对于您的所有项目都是相同的。此外,根据您使用的服务器类型,您可能无法访问 ini
-
@jeremycastelli "另外取决于您使用的服务器类型,您可能无法访问 ini",您能告诉我哪种服务器不支持 ini,表示服务器是托管 PHP 但不支持 ini .. 我很好奇 ..
-
@PuneetSingh 共享虚拟主机很少允许您更改
php.ini文件,更不用说重新加载 PHP/服务器进程以考虑 INI 更改。这就是@jeremy-castelli 的意思,我猜不是这样。 -
@PuneetSingh,在微服务的上下文中,dotenv 项目旨在合理化配置 init 过程。 Java 有 .property 文件、Php ini 文件、Node json 文件... Dotenv 通过 .env 文件是相互的答案。配置格式和消费者语言之间不再有耦合。同样与属性文件相反,.env 文件没有与工件打包在一起。使工件在环境之间真正相同;