我'm hosting my PHP project on AWS EC2 servers, using Elastic Beanstalk. I'已经使用 php dotenv
设置了我的ENV Vars,这似乎是从我的根 .env
文件中获取我的vars:
DbConnect.php:
require '../vendor/autoload.php';
$dotenv = new Dotenv($_SERVER['DOCUMENT_ROOT']);
$dotenv->load();
$DB_HOST = getenv('DB_HOST');
$DB_USERNAME = getenv('DB_USERNAME');
$DB_PASSWORD = getenv('DB_PASSWORD');
$DB_DATABASE = getenv('DB_DATABASE');
$mysqli = new mysqli($DB_HOST, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE);
因此,在AWS管理控制台中,我在软件配置,git推送和重新部署中设置了相同的名称ENV vars . 我得到500错误,因为EC2 ENV变量似乎没有恢复 .
还有什么我需要做的吗?
更新:
eb printenv
显示正确的env var值 .
1 回答
引自https://github.com/vlucas/phpdotenv
如果你没有.env文件,你将有php致命错误
如果您希望下面是您可以设置
Environment Variable
进行检查的示例代码,它只会加载 Dotenv 类(如果它位于本地/测试环境中)或者另一种方法是检查.env文件是否存在