我想使用 .env
文件在 Laravel 5.1 中配置存储路径。我的 bootstrap/app.php
看起来像这样:
<?php
$app = new \Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
$app->useStoragePath(getenv('STORAGE_PATH'));
.env 文件中的相关行是:
STORAGE_PATH=/var/www/storage
这行不通。我发现 Dotenv 库在处理 Bootstrap 后 被初始化,因此 .env
变量在 bootstrap.php
中不可用。
是否有不同的地方可以设置存储路径和可用的 .env
变量?
最佳答案
在 config/filesystems.php
中,您可以设置存储路径。尝试在那里设置您的存储路径,看看它是否有效。请注意,下面的示例是我对您的 config/filesystems.php
外观的建议。不要介意 s3 设置。这是我项目的一部分。
记得从 app.php
$app->useStoragePath(getenv('STORAGE_PATH'));
return [
'default' => 's3',
'cloud' => 's3',
'disks' => [
'local' => [
'driver' => 'local',
'root' => env('STORAGE_PATH'),
],
's3' => [
'driver' => 's3',
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET'),
'region' => env('AWS_REGION'),
'bucket' => env('AWS_BUCKET'),
],
'rackspace' => [
'driver' => 'rackspace',
'username' => 'your-username',
'key' => 'your-key',
'container' => 'your-container',
'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
'region' => 'IAD',
],
],
];
关于php - 在 Laravel 5.1 中使用 .env 设置存储路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779351/