首页 > 解决方案 > 未捕获的反射异常:805

问题描述

我试图将我的项目克隆到服务器。完成 git 后,我​​得到了 php 错误:

PHP Fatal error:  Uncaught ReflectionException: Class config does not exist in 

/var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:805
Stack trace:
#0 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(805): ReflectionClass->__construct()
#1 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(687): Illuminate\Container\Container->build()
#2 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(796): Illuminate\Container\Container->resolve()
#3 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(633): Illuminate\Foundation\Application->resolve()
#4 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(781): Illuminate\Container\Container->make()
#5 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php(66): Illuminate\Foundation\Application->make()
#6 /var/www/laravel/vendor/barryvdh/laravel-dompdf/src/ServiceProvider.php(28 in /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 807

这是我的 .env:

APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=true
APP_URL=http://test.com

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Test
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

我的 composer.json

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
    "framework",
    "laravel"
],
"license": "MIT",
"require": {
    "php": "^7.2.5",
    "barryvdh/laravel-dompdf": "^0.8.6",
    "fideloper/proxy": "^4.2",
    "fruitcake/laravel-cors": "^1.0",
    "guzzlehttp/guzzle": "^6.3",
    "laravel/framework": "^7.0",
    "laravel/tinker": "^2.0",
    "laravel/ui": "^2.0",
    "laraveldaily/laravel-invoices": "^1.3"
},
"require-dev": {
    "facade/ignition": "^2.0",
    "fzaninotto/faker": "^1.9.1",
    "mockery/mockery": "^1.3.1",
    "nunomaduro/collision": "^4.1",
    "phpunit/phpunit": "^8.5"
},
"config": {
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true
},
"extra": {
    "laravel": {
        "dont-discover": []
    }
},
"autoload": {
    "psr-4": {
        "App\\": "app/"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ]
},
"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/"
    }
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover --ansi"
    ],
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate --ansi"
    ]
    }
}

在我克隆我的项目后,我给了 laravel 文件夹权限

sudo chown -R :www-data /var/www/laravel
sudo chmod -R 775 /var/www/laravel/storage

我的 laravel.log 是空的,任何命令都会带回错误。如:composer dump-autoload composer update ... php artisan ..清除缓存...请帮忙。我是 laravel 的新手。该项目使用 xamp 在我的本地 PC 上运行正常。问候,

标签: laravelgitdeploymentubuntu-20.04

解决方案


对于可能遇到相同问题的任何人,我发现我删除了:

$app->register(\Barryvdh\DomPDF\ServiceProvider::class); $app->configure('dompdf');

在:bootstrap/app.php 并再次运行 composer update 。


推荐阅读