在主机中上传Laravel

时间:2019-01-18 07:45:24

标签: php laravel

我从沼泽上传了我的项目到我的主人。 当我打开网站时,网站显示:

  

(1/1)InvalidArgumentException

     

未找到[欢迎]。

.....

  

在FileViewFinder.php第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;
}
}

我尝试了几次,但无法解决此问题 我还编辑了.env文件中的APP_URL,但没有更改 我该如何解决?

2 个答案:

答案 0 :(得分:0)

尝试清除项目缓存:php artisan config:cachephp artisan cache:clear可能是缓存在错误的位置寻找文件。

答案 1 :(得分:0)

您可以将主机与vagrant ssh连接,然后使用CL转到项目位置并运行以下命令:php artisan config:cache以重新生成配置。 希望对您有帮助!