致命错误Laravel:当我查看我的网站时,Uncaught ReflectionException

时间:2016-04-26 05:30:54

标签: php composer-php laravel-5.1 composer.json

当我查看我的网站时出现以下错误。

我的错误:

  

致命错误:未捕获ReflectionException:类日志不存在   /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Container/Container.php:741>堆栈跟踪:#0   /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Container/Container.php(741):   ReflectionClass-> __ construct('log')#1   /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Container/Container.php(631):   Illuminate \ Container \ Container-> build('log',Array)#2   /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674):   Illuminate \ Container \ Container-> make('log',Array)#3   /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Container/Container.php(842):   Illuminate \ Foundation \ Application-> make('log')#4   /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Container/Container.php(805):   Illuminate \ Container \ Container-> resolveClass(Object(ReflectionParameter))> #5 /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Container/Container.php(774):   我在   /home/vagrant/Code/in10km/vendor/laravel/framework/src/Illuminate/Container/Container.php   在第741行

我的 Composer.json 文件就像这样

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",
        "doctrine/dbal": "v2.4.2",
        "swiftmailer/swiftmailer": "^5.4",
        "guzzlehttp/guzzle": "~5.3|~6.0",       
        "chrisbjr/api-guard": "^2.3",
        "serverfireteam/panel": "1.3.*",
        "laravel/socialite": "^2.0"

    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1"
    },
    "autoload": {
        "files": [
            "app/Http/helpers.php",
            "app/Support/helpers.php"
        ],
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "pre-update-cmd": [
            "php artisan clear-compiled"
        ],
        "post-update-cmd": [
            "php artisan optimize"
        ],
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

任何人都可以帮助我摆脱这个错误并成功查看我的网站。

5 个答案:

答案 0 :(得分:1)

删除bootstrap/cache/中的所有文件,然后运行:

composer dump-autoload -o

答案 1 :(得分:1)

我找到了解决方案,在我的路线中我没有准确地调用控制器的名称

示例:

Route::get('/endpoint', 'Namebadcontroller@function');

// Correct name of route
Route::get('/endpoint', 'NameBadController@function');

并运行以下命令:

作曲家转储-自动加载 -o

php artisan 清晰编译 php工匠优化

答案 2 :(得分:0)

我有类似的问题。我发现要真正深入研究这个问题,你需要修改Illuminate / Container / Container.php文件,如同从顶部开始的第三个建议here

<?php

namespace {
    use Monolog\Logger as Monolog;
    class log extends Illuminate\Log\Writer {
        function __construct()
        {
            $this->monolog = new Monolog("local");
        }
    }
}

namespace Illuminate\Container {

    use Closure;
    use ArrayAccess;
    use ReflectionClass;
    use ReflectionMethod;
    use ReflectionFunction;
    use ReflectionParameter;
    use InvalidArgumentException;
    use Illuminate\Contracts\Container\Container as ContainerContract;
    use Illuminate\Contracts\Container\BindingResolutionException as BindingResolutionContractException;


    class Container implements ArrayAccess, ContainerContract
    {

按代码建议修改它,并在底部添加一个额外的右括号。这将允许它显示否则无法显示的错误,从而能够解决您的问题!

答案 3 :(得分:0)

删除供应商文件,然后运行composer update

答案 4 :(得分:-1)

尝试命令composer dump-autoload -o

我用它来克服这个问题:'Uncaught ReflectionException'。

祝你好运!