【发布时间】:2016-12-30 14:35:22
【问题描述】:
我在 prod 环境的 .env 文件中设置了一个配置。
STORAGE_PATH=/dev/shm/runtime
并在 bootstrap/app.php 中编写以下代码。
if (env('STORAGE_PATH')) {
$app->useStoragePath(env('STORAGE_PATH'));
}
它不起作用,因为env('STORAGE_PATH') 返回空字符串。 .env 文件似乎没有加载。
有人建议在 app/Providers/AppServiceProvider.php 中这样做
public function register()
{
if (env('STORAGE_PATH')) {
$this->app->useStoragePath(env('STORAGE_PATH'));
/* or
$this->app->bind('path.storage', function () {
return env('STORAGE_PATH');
});
*/
}
}
试过了,没用。
我相信必须有一种优雅的方式来完成这项工作。
【问题讨论】:
-
如果你把字符串放进去
useStoragePath()工作吗?dd(env('STORAGE_PATH'));放到register方法中返回什么? -
@Alexey Mezenin 它与 bootstrap/app.php 中的搅拌一起使用,问题是 .env 文件尚未加载,那么我应该在哪里写入配置值?
-
您是否尝试过
register()方法中的字符串?dd()返回什么?如果没有这些信息,任何人都无法为您提供帮助。 -
在 register() 方法中,
dd(env('STORAGE_PATH'))返回期望值。它只是更改 Application::$storagePath 的值,但对真实路径没有影响。就像我对@Kelvin Kyaw 说的那样。