is_dir()期望参数1为有效路径,并给出字符串-Laravel 5.8

时间:2019-07-06 13:56:05

标签: php laravel laravel-5

我已经在Ubuntu中下载了Laravel网站(在composer update之后下载),尝试访问该网站时出现此错误:

  

is_dir()期望参数1为有效路径,并给出字符串

我发现问题出在/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php,其代码为:

protected function loadViewsFrom($path, $namespace){

    if (is_array($this->app->config['view']['paths'])) {

        foreach ($this->app->config['view']['paths'] as $viewPath) {

            if (is_dir($appPath = $viewPath.'/vendor/'.$namespace)) {
                $this->app['view']->addNamespace($namespace, $appPath);
            }
        }
    }

    $this->app['view']->addNamespace($namespace, $path);
}

$appPath是字符串yes,但是不是此函数的string类型参数吗?

如果像这样var_dump()那样将var_dump($viewPath.'/vendor/'.$namespace);exit放在is_dir检查之前,我将获得两条路径:

  

string(74)“ / mnt / e / xampp / htdocs / project_folder / resources / views / vendor / notifications”

     

string(71)“ / mnt / e / xampp / htdocs / project_folder / resources / views / vendor / pagination”

views文件夹中的这两个文件夹不存在。没关系,如果我创建它们,但是我认为创建它们是错误的。 我不明白错误在哪里。

与我相同:

   $appPath = $viewPath.'/vendor/'.$namespace;
   $cleaned = strval(str_replace("\0", "", $appPath));
   if (is_dir($cleaned)) {
       $this->app['view']->addNamespace($namespace, $appPath);
   }

0 个答案:

没有答案