Laravel 11 Artisan:调用成员函数handleCommand()错误

问题描述 投票:0回答:1

更新后的 Laravel 11 给我带来了重大问题。没有 kernel.php 文件,并且也缺少一些服务提供程序文件。我必须手动添加内核,每次我在 bootstrap/app.php 文件中进行调整时,artisan 文件都会抛出错误。我什至无法运行 php artisan 命令而不遇到错误。这是 bootstrap 目录中 app.php 文件中的代码。

$app = Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: __DIR__.'/../routes/api.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function ($middleware) {
        $middleware->add(\App\Http\Middleware\CheckUserType::class);
        $middleware->add(\App\Http\Middleware\StudentMiddleware::class);
        $middleware->add(\App\Http\Middleware\TeacherMiddleware::class);
        $middleware->add(\App\Http\Middleware\AdminMiddleware::class);



    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })
    ->create();

$app->register(AppServiceProvider::class);

$app->singleton(
    Illuminate\Contracts\Http\Kernel::class,
    App\Http\Kernel::class
);

**这是错误:**

`PHP 致命错误:未捕获错误:在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan:13 中调用 int 上的成员函数 handleCommand() 堆栈跟踪: #0 {主要} 扔在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan 第 13 行

n:13 堆栈跟踪: #0 {主要} 扔在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan 第 13 行 PS C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university> php artisanserve 19号线

致命错误:无法在线 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university ootstrap pp.php 中对字符串类型的值使用“::class” 19 PS C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university> php artisan PHP 致命错误:未捕获错误:在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan:13 中调用 int 上的成员函数 handleCommand() 堆栈跟踪: #0 {主要} 扔在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan 第 13 行

n:13 堆栈跟踪: #0 {主要} 扔在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan 第 13 行 PS C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university> php artisan PHP 致命错误:未捕获错误:在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan:13 中调用 int 上的成员函数 handleCommand() 堆栈跟踪: #0 {主要} 扔在 C:\Classes rdyear nd sem\CCS 106\Laravel\FINAL PROJECT\grand_line_university rtisan 第 13 行 `

我是 Laravel 的新手,这真的很难。

我尝试手动添加内核,并且必须调整 bootstrap->app.php。但是当我修改它,特别是中间件部分时,artisan 文件也被修改了,也许是因为即使我撤消了更改,artisan 命令仍然无法运行,因为它说它在第 13 行 artisan 文件中有错误。

php laravel laravel-artisan laravel-11
1个回答
0
投票

我刚刚发现问题所在,我忘了归还$app。

如果将返回 $app 存储在 $app 变量中,请确保在代码末尾包含它。这将确保配置好的 Laravel 应用程序被返回并正确使用。

标题

$app = Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function ($middleware) {
        Route::middleware([CheckUserType::class, StudentMiddleware::class, TeacherMiddleware::class, AdminMiddleware::class]);
    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })
    ->create();

$app->register(AppServiceProvider::class);

$app->singleton(
    Illuminate\Contracts\Http\Kernel::class,
    App\Http\Kernel::class
);

return $app;
© www.soinside.com 2019 - 2024. All rights reserved.