我在prod环境中的.env文件中设置了一个配置。如何在不同环境下更改Laravel5.1中的存储路径?
STORAGE_PATH=/dev/shm/runtime
并在bootstrap/app.php中写入以下代码。
if (env('STORAGE_PATH')) {
$app->useStoragePath(env('STORAGE_PATH'));
}
它不起作用,因为env('STORAGE_PATH')
返回空字符串。似乎.env文件尚未加载。
有人建议在应用程序做到这一点/供应商/ 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'));'如果你把它放在寄存器方法中,返回什么? –
@Alexey Mezenin它在引导/ app.php中使用stirng,问题是.env文件尚未加载,那么我应该在哪里写配置值? –
你是否在'register()'方法中尝试了字符串? 'dd()'返回什么?没有这些信息,没有人能够帮助你。在register()方法中, –