更改lumen框架.env文件、storage文件夹路径

7月 24, 2017

为了将代码与配置文件、日志分离,需要将lumen框架里的.env文件、storage文件夹抽离出代码,统一放置在一个地方,以下是更改的方法。

更改.env文件路径

修改 bootstrap/app.php文件

1
2
3
把 (new Dotenv\Dotenv(__DIR__ . '/../'))->load();
改成
(new Dotenv\Dotenv('/var/projects/xxx/'))->load();

复制该项目的.env文件到上面的路径

更改storage路径

storage的路径由vendor/laravel/lumen-framework/src/Application.phpstoragePath()方法定义,需要继承\Laravel\Lumen\Application类覆盖storagePath()方法,修改如下:

1、添加下边的代码到 bootstrap/app.php文件:

1
2
3
4
5
6
7
class Application extends \Laravel\Lumen\Application
{
public function storagePath($path = null)
{
return (env('STORAGE_PATH') ? env('STORAGE_PATH') : $this->basePath()) . '/storage' . ($path ? '/' . $path : $path);
}
}

2、到.env文件定义:

1
STORAGE_PATH=/var/projects/xxx

3、复制storage文件夹到/var/projects/xxx/下。