【问题标题】:Target class [App\Http\Controllers\welcome] does not exist. error in laravel 6目标类 [App\Http\Controllers\welcome] 不存在。 laravel 6中的错误
【发布时间】:2020-06-24 19:14:53
【问题描述】:

我在 laravel 6 中得到 Target class [App\Http\Controllers\welcome] does not exist 错误。一切似乎都很好。

在路由/web.php 中

Route::get('/','welcome@index');

Welcome.php 文件在 localhost 上一切正常,但是当我上传到服务器时出现错误。

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Constant_model;



class Welcome extends Controller
{
public function index(){

      $snippets = Constant_model::getDataAllWithLimit('snippets',"id",'DESC',10);

      $data = array(
        'title'=>'Mytitle',
        'description'=>'Hello',
        'seo_keywords'=>'',
        'snippets'=>$snippets

        );

       return view('welcome',$data);    
 }
 }

【问题讨论】:

  • 您是否检查过将该名称大写是否有帮助? welcomeWelcome 之间有区别
  • 'welcome' 用大写字母写 => Welcome
  • 成功了!但为什么它在 localhost 中工作
  • @UpasanaChauhan 我编辑了我的答案来解释为什么它在你的本地主机上工作。

标签: laravel


【解决方案1】:

由于你的控制器类被命名为Welcome,你的路由参数应该拼写相同,包括大写:

Route::get('/','welcome@index');

应该是:

Route::get('/','Welcome@index');

传统上,类 Unix 操作系统区分大小写,而 Microsoft Windows 不区分大小写。

这就是为什么它在您的本地环境(您可能有一台 Windows 机器)上工作但在您的服务器上失败(可能运行 Linux)。

【讨论】:

    猜你喜欢
    • 2020-05-01
    • 2020-03-27
    • 2020-06-18
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2020-11-03
    相关资源
    最近更新 更多