dos8244 2019-01-18 07:45
浏览 87

在主机上传Laravel

I uploaded my project from wamp to my host. When I open my site, site shows :

(1/1) InvalidArgumentException

View [welcome] not found.

.....

in FileViewFinder.php line 137

FileViewFinder.php:

<?php

namespace Illuminate\View;

use InvalidArgumentException;
use Illuminate\Filesystem\Filesystem;

 class FileViewFinder implements ViewFinderInterface
{
/**
 * The filesystem instance.
 *
 * @var \Illuminate\Filesystem\Filesystem
 */
protected $files;

/**
 * The array of active view paths.
 *
 * @var array
 */
protected $paths;

/**
 * The array of views that have been located.
 *
 * @var array
 */
protected $views = [];

/**
 * The namespace to file path hints.
 *
 * @var array
 */
protected $hints = [];

/**
 * Register a view extension with the finder.
 *
 * @var array
 */
protected $extensions = ['blade.php', 'php', 'css'];

/**
 * Create a new file view loader instance.
 *
 * @param  \Illuminate\Filesystem\Filesystem  $files
 * @param  array  $paths
 * @param  array  $extensions
 * @return void
 */
public function __construct(Filesystem $files, array $paths, array $extensions = null)
{
    $this->files = $files;
    $this->paths = $paths;

    if (isset($extensions)) {
        $this->extensions = $extensions;
    }
}

/**
 * Get the fully qualified location of the view.
 *
 * @param  string  $name
 * @return string
 */
public function find($name)
{
    if (isset($this->views[$name])) {
        return $this->views[$name];
    }

    if ($this->hasHintInformation($name = trim($name))) {
        return $this->views[$name] = $this->findNamespacedView($name);
    }

    return $this->views[$name] = $this->findInPaths($name, $this->paths);
}

/**
 * Get the path to a template with a named path.
 *
 * @param  string  $name
 * @return string
 */
protected function findNamespacedView($name)
{
    list($namespace, $view) = $this->parseNamespaceSegments($name);

    return $this->findInPaths($view, $this->hints[$namespace]);
}

/**
 * Get the segments of a template with a named path.
 *
 * @param  string  $name
 * @return array
 *
 * @throws \InvalidArgumentException
 */
protected function parseNamespaceSegments($name)
{
    $segments = explode(static::HINT_PATH_DELIMITER, $name);

    if (count($segments) != 2) {
        throw new InvalidArgumentException("View [$name] has an invalid name.");
    }

    if (! isset($this->hints[$segments[0]])) {
        throw new InvalidArgumentException("No hint path defined for [{$segments[0]}].");
    }

    return $segments;
}

/**
 * Find the given view in the list of paths.
 *
 * @param  string  $name
 * @param  array   $paths
 * @return string
 *
 * @throws \InvalidArgumentException
 */
protected function findInPaths($name, $paths)
{
    foreach ((array) $paths as $path) {
        foreach ($this->getPossibleViewFiles($name) as $file) {
            if ($this->files->exists($viewPath = $path.'/'.$file)) {
                return $viewPath;
            }
        }
    }

    throw new InvalidArgumentException("View [$name] not found.");
}

/**
 * Get an array of possible view files.
 *
 * @param  string  $name
 * @return array
 */
protected function getPossibleViewFiles($name)
{
    return array_map(function ($extension) use ($name) {
        return str_replace('.', '/', $name).'.'.$extension;
    }, $this->extensions);
}

/**
 * Add a location to the finder.
 *
 * @param  string  $location
 * @return void
 */
public function addLocation($location)
{
    $this->paths[] = $location;
}

/**
 * Prepend a location to the finder.
 *
 * @param  string  $location
 * @return void
 */
public function prependLocation($location)
{
    array_unshift($this->paths, $location);
}

/**
 * Add a namespace hint to the finder.
 *
 * @param  string  $namespace
 * @param  string|array  $hints
 * @return void
 */
public function addNamespace($namespace, $hints)
{
    $hints = (array) $hints;

    if (isset($this->hints[$namespace])) {
        $hints = array_merge($this->hints[$namespace], $hints);
    }

    $this->hints[$namespace] = $hints;
}

/**
 * Prepend a namespace hint to the finder.
 *
 * @param  string  $namespace
 * @param  string|array  $hints
 * @return void
 */
public function prependNamespace($namespace, $hints)
{
    $hints = (array) $hints;

    if (isset($this->hints[$namespace])) {
        $hints = array_merge($hints, $this->hints[$namespace]);
    }

    $this->hints[$namespace] = $hints;
}

/**
 * Replace the namespace hints for the given namespace.
 *
 * @param  string  $namespace
 * @param  string|array  $hints
 * @return void
 */
public function replaceNamespace($namespace, $hints)
{
    $this->hints[$namespace] = (array) $hints;
}

/**
 * Register an extension with the view finder.
 *
 * @param  string  $extension
 * @return void
 */
public function addExtension($extension)
{
    if (($index = array_search($extension, $this->extensions)) !== false) {
        unset($this->extensions[$index]);
    }

    array_unshift($this->extensions, $extension);
}

/**
 * Returns whether or not the view name has any hint information.
 *
 * @param  string  $name
 * @return bool
 */
public function hasHintInformation($name)
{
    return strpos($name, static::HINT_PATH_DELIMITER) > 0;
}

/**
 * Flush the cache of located views.
 *
 * @return void
 */
public function flush()
{
    $this->views = [];
}

/**
 * Get the filesystem instance.
 *
 * @return \Illuminate\Filesystem\Filesystem
 */
public function getFilesystem()
{
    return $this->files;
}

/**
 * Get the active view paths.
 *
 * @return array
 */
public function getPaths()
{
    return $this->paths;
}

/**
 * Get the namespace to file path hints.
 *
 * @return array
 */
public function getHints()
{
    return $this->hints;
}

/**
 * Get registered extensions.
 *
 * @return array
 */
public function getExtensions()
{
    return $this->extensions;
}
}

I tried several times but I could not solve this problem I also edited the APP_URL in the .env file, but did not change How can I fix it?

  • 写回答

2条回答 默认 最新

  • drl971115 2019-01-18 08:42
    关注

    Try to clear your project cache: php artisan config:cache and php artisan cache:clear maybe the cache is looking for the file in a wrong place.

    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler