Php 如何在本地和生产环境中设置不同的Laravel 5存储和缓存路径?

Php 如何在本地和生产环境中设置不同的Laravel 5存储和缓存路径?,php,laravel-5,Php,Laravel 5,对于如何根据Laravel 5应用程序运行的环境为其设置不同的存储和缓存路径,我找不到任何好的答案 我特别想更改存储路径和缓存路径 目前config/cache.php有一行代码如下: 'path' => storage_path().'/framework/cache', <?php namespace App; use Illuminate\Foundation\Application; class XXXApplication extends Application

对于如何根据Laravel 5应用程序运行的环境为其设置不同的存储和缓存路径,我找不到任何好的答案

我特别想更改存储路径和缓存路径

目前config/cache.php有一行代码如下:

'path'   => storage_path().'/framework/cache',
<?php namespace App;

use Illuminate\Foundation\Application;

class XXXApplication extends Application
{
    public function storagePath()
    {
        if($this->environment('production')) {
            return '/www/app-store/';
        }

        return parent::storagePath();
    }
}
我想将其更改为“/www/app cache/”,仅适用于生产环境

我只想将生产环境的默认存储路径更改为“/www/app store/”

有没有一个好的方法来实现这一点

目前,我已经创建了一个新的应用程序类,它扩展了旧的应用程序类,如下所示:

'path'   => storage_path().'/framework/cache',
<?php namespace App;

use Illuminate\Foundation\Application;

class XXXApplication extends Application
{
    public function storagePath()
    {
        if($this->environment('production')) {
            return '/www/app-store/';
        }

        return parent::storagePath();
    }
}

通常,在本地env中,您使用的是.env文件

因此,您可以在config/cache.php文件中执行以下操作

'path' => env('CACHE_PATH', storage_path().'/framework/cache');
如果在你的.env中有一个CACHE_PATH变量,你的应用程序将使用它。 如果不是,它将默认使用第二个参数中指定的另一个参数


执行app.php中的some for your存储路径

这是一个好方法吗?“公共函数storagePath(){return env('STORAGE_PATH',parent::storagePath());}”或者有没有更好的方法不扩展应用程序类?最好重写配置,而不是执行自定义函数:为了可读性和代码理解。我可以在config/app.php中添加存储路径吗,我认为默认情况下没有指定它。