一个PHP应用程序需要我设置几个环境variables,如数据库凭证,SMTP服务器等。
variables的例子包括:
FOO_DATABASE_URL=mysql://user:pass@host:3306/dbname FOO_SMTP_SERVER=smtp://user:pass@host:25 FOO_FILE_PATH=/var/www/foo FOO_URL_HOST=example.org FOO_URL_PATH=/foo
哪里可以设置这些variables?
最初我尝试在~/.profile设置它们,但是我意识到我并不是Apache运行的用户,所以这是行不通的。 我find了/etc/environment但我不确定这是否适合设置它们。 目前这里只有PATH 。 如果我只在这里设置,我需要在输出前面添加行吗?
该文档指出ENV文件应该在生产中避免,以最大限度地提高性能。 如果可能的话,我也想避免使用Apache的PassEnv和PassEnv指令。
我的生产服务器是CentOS,但是我想知道如何在Linux Mint和Ubuntu上做到这一点,即使我目前使用ENV文件进行开发。
您可以简单地将该.env文件放在项目的根文件夹中。 只要确保它不可公开访问。
这就是Laravel所做的事情,但是如果您对性能和/或安全性有所顾虑,您可以查看Vault 。