.env 文件和 .ini 文件有什么区别?哪个更好?

问题描述 投票:0回答:3

我是一个 PHP 初学者,我发现 Laravel 有 .env 文件来保存一些配置,而 php 也有一个文件格式 .ini 来保存配置。

我想问两者有什么区别,一个比另一个更好。我应该在我的核心项目中添加 dotenv 还是应该创建类/函数来访问 .ini 作为我的配置/环境变量。

我想了解为什么要创建 dotenv,因为我们在 php 中已经有了 ini 文件扩展系统?

php laravel ini env
3个回答
4
投票

我将使用

parse_ini_file()
*.ini
文件。一切都一样!


1
投票

.env
允许将配置加载到系统环境中。直接加载 INI 文件不会执行此操作,除非您对所有配置值使用
putenv
或类似方法推出自己的解决方案。否则,您可以采用任何您想要的方法。


-1
投票

根据文档https://github.com/vlucas/phpdotenv

为什么是.env?

您永远不应该在代码中存储敏感凭据。在环境中存储配置是十二因素应用程序的原则之一。部署环境之间可能发生变化的任何内容(例如数据库凭据或第三方服务的凭据)都应从代码中提取到环境变量中。

基本上,.env 文件是一种加载应用程序所需的自定义配置变量的简单方法,而无需修改 .htaccess 文件或 Apache/nginx 虚拟主机。这意味着您不必在项目外部编辑任何文件,并且无论您如何运行项目(Apache、Nginx、CLI,甚至 PHP 5.4 的内置 Web 服务器),所有环境变量都始终会设置。它比您所知道的设置环境变量的所有其他方法要容易得多,并且您一定会喜欢它。

无需在 Apache 或 Nginx 中编辑虚拟主机

不要向 .htaccess 文件添加 php_value 标志

轻松移植和共享所需的 ENV 值

与 PHP 的内置 Web 服务器和 CLI 运行程序兼容

此外,Laravel 的 .env 文件还有一些扩展功能。例如,您可以引用 .env 文件中的其他变量。

[email protected]
MAIL_FROM_ADDRESS=${MAIL_USERNAME}
© www.soinside.com 2019 - 2024. All rights reserved.