Laravel无法加载.env的问题
Auth:admin Date:2016-06-4 17:42:00 Cat:技术笔记
在万网虚拟主机上,发现laravel无法加载.env中配置的信息,然后一路跟踪发现,问题出在PHPDotEnv这个库上
在Loader.php里有一个函数如下:
public function setEnvironmentVariable($name, $value = null) { list($name, $value) = $this->normaliseEnvironmentVariable($name, $value); // Don't overwrite existing environment variables if we're immutable // Ruby's dotenv does this with `ENV[key] ||= value`. if ($this->immutable && $this->getEnvironmentVariable($name) !== null) { return; } putenv("$name=$value"); $_ENV[$name] = $value; $_SERVER[$name] = $value; }
里面使用了putenv函数,把.env里面的配置放到了系统环境变量里面。通过var_dump查看返回值发现都是NULL, 可以猜测万网虚拟主机应该是禁用了putenv这个函数。
解决办法就是放弃使用.env文件,把里面的一些配置信息放到config/app.php里面去。
标签:Laravel