improve fault tolerance of missing directories

This commit is contained in:
printempw 2017-01-02 14:49:28 +08:00
parent 994b827643
commit f00033ab1b
3 changed files with 22 additions and 9 deletions

View File

@ -178,20 +178,28 @@ class SetupController extends Controller
} }
} }
public static function checkTextureDirectory() public static function checkDirectories()
{ {
if (!Storage::disk('storage')->has('textures')) { $directories = ['storage/textures', 'plugins'];
// mkdir
if (!Storage::disk('storage')->makeDirectory('textures'))
return false;
}
return true; try {
foreach ($directories as $dir) {
if (!Storage::disk('root')->has($dir)) {
// mkdir
if (!Storage::disk('root')->makeDirectory($dir))
return false;
}
}
return true;
} catch (\Exception $e) {
return false;
}
} }
protected function createDirectories() protected function createDirectories()
{ {
return self::checkTextureDirectory(); return self::checkDirectories();
} }
/** /**

View File

@ -56,7 +56,7 @@ class BootServiceProvider extends ServiceProvider
return redirect('/setup')->send(); return redirect('/setup')->send();
} }
if (!SetupController::checkTextureDirectory()) { if (!SetupController::checkDirectories()) {
throw new PrettyPageException(trans('setup.file.permission-error'), -1); throw new PrettyPageException(trans('setup.file.permission-error'), -1);
} }

View File

@ -48,6 +48,11 @@ return [
'root' => storage_path('app'), 'root' => storage_path('app'),
], ],
'root' => [
'driver' => 'local',
'root' => base_path(),
],
'storage' => [ 'storage' => [
'driver' => 'local', 'driver' => 'local',
'root' => storage_path(), 'root' => storage_path(),