Php 如何在本地和生产环境中设置不同的Laravel 5存储和缓存路径?
对于如何根据Laravel 5应用程序运行的环境为其设置不同的存储和缓存路径,我找不到任何好的答案 我特别想更改存储路径和缓存路径 目前config/cache.php有一行代码如下: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
'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中添加存储路径吗,我认为默认情况下没有指定它。