小编Cod*_*ian的帖子

流明-更改默认存储路径

我试图找出如何在Lumen项目上更改默认存储位置(包括它的子文件夹)。由于多种原因,考虑到生产Web服务器的当前配置,Lumen在尝试编写日志编译Blade视图时会抛出拒绝权限异常。

在不涉及sysadmin的情况下,唯一的选择是将存储文件夹移动到Web服务器上的tmp文件夹。

在laravel上似乎有一个名为“ useStoragePath ” 的方法,但在Lumen(5.2.x)上似乎不可用。

默认路径似乎是“硬编码的”,我发现了这一点:

Project\vendor\laravel\lumen-framework\src\Application.php

/**
     * Get the storage path for the application.
     *
     * @param  string|null  $path
     * @return string
     */
    public function storagePath($path = null)
    {
        return $this->basePath().'/storage'.($path ? '/'.$path : $path);
    }
Run Code Online (Sandbox Code Playgroud)

对于日志(相同文件):

/**
     * Get the Monolog handler for the application.
     *
     * @return \Monolog\Handler\AbstractHandler
     */
    protected function getMonologHandler()
    {
        return (new StreamHandler(storage_path('logs/lumen.log'), Logger::DEBUG))
                            ->setFormatter(new LineFormatter(null, null, true, true));
    }
Run Code Online (Sandbox Code Playgroud)

底线:是否有任何牢记此限制的干净方法来覆盖默认存储路径?:

  • 它不应涉及sysadmin(符号链接,更改权限等)。
  • 不篡改供应商文件夹。

php laravel lumen

2
推荐指数
1
解决办法
3728
查看次数

标签 统计

laravel ×1

lumen ×1

php ×1