Laravel 路由在特定控制器名称上给出 500 错误

Posted

技术标签:

【中文标题】Laravel 路由在特定控制器名称上给出 500 错误【英文标题】:Laravel route giving 500 error on a Specific Controller name 【发布时间】:2015-10-22 09:49:24 【问题描述】:

我正在使用 Laravel 框架版本 4.2.17。我在本地主机上创建了一个新的控制器、模型和视图,并在测试代码后将它们上传到实时服务器。

对于我使用 laravel 资源的路线:

Route::resource('templates', 'EmailsController',['as' => 'admin']);

我的控制器在一个文件夹中,即

应用程序->控制器->管理员

文件名是:EmailsController.php

控制器:class EmailsController extends \AdminBaseController ...

现在如果我访问

www.example.com/admin/templates

对于这个特定的控制器,出现 500 错误。如果我将路由更改为其他控制器,即

Route::resource('templates', 'JobsController',['as' => 'admin']);

链接

www.example.com/admin/templates

显示所有工作列表。

有什么想法吗?

谢谢

【问题讨论】:

你的 JobsController 扩展了 AdminBaseController 吗? 错误是什么?打开调试,或在 /storage/logs 中查找错误消息。 “500 error”表示服务器有错误——你需要找出这个错误是什么。 @mcklayin 是的,JobsController 扩展了 AdminBaseController。 【参考方案1】:

创建新控制器后。你需要做的

composer dump-autoload

php artisan dump-autoload

在终端上。这对于知道创建新控制器的laravel是必要的。映射由composer完成。

【讨论】:

以上是关于Laravel 路由在特定控制器名称上给出 500 错误的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 在资源路由控制器的特定路由上应用中间件

禁用特定文件夹/路由的 Laravel 路由

用 Laravel 路由上的 URL 上的对象名称替换对象 ID

Laravel 在共享主机上给出 500 内部错误

laravel 将未定义的 url 路由到特定的控制器

Laravel 5.7 使用某些命名空间的资源控制器路由名称是啥?