Laravel 拉威尔给了我空白页和500个错误

Laravel 拉威尔给了我空白页和500个错误,laravel,nginx,Laravel,Nginx,我在我的项目中使用nginx+laravel,这个项目已经开发了几个月,以前一切都很顺利。但现在突然间,它给了我所有路由的空白页和500个内部服务器错误。像这样的路线 Route::get('/', array('as' => 'homepage', 'uses' => 'FrontendPageController@test')); Route::get('/', array('as' => 'homepage', function() { return 'hell

我在我的项目中使用nginx+laravel,这个项目已经开发了几个月,以前一切都很顺利。但现在突然间,它给了我所有路由的空白页和500个内部服务器错误。像这样的路线

Route::get('/', array('as' => 'homepage', 'uses' => 'FrontendPageController@test'));
Route::get('/', array('as' => 'homepage', function() {
    return 'hello';
}));
根本不起作用!但是像这样的路线,

Route::get('/', array('as' => 'homepage', 'uses' => 'FrontendPageController@test'));
Route::get('/', array('as' => 'homepage', function() {
    return 'hello';
}));

工作。以前有人遇到过这种情况吗?

我已经找出了问题所在,我有两个控制器,一个叫做UserController,另一个叫做OrderController。在我的代码中,它们相互依赖。。。UserController构造函数如下所示:

class UserController extends BaseController {
    public $orderController;
    public function __construct(OrderController $orderController) {
        $this->orderController = $orderController;
    }
}
和OrderController:

class OrderController extends \BaseController {
    public $userController;
    public function __construct(UserController $userController) {
        $this->userController = $userController;
    }
}

在我删除了一个依赖项之后,一切都恢复正常。我只是觉得奇怪,根本没有错误消息/调试信息…

500错误-内部服务器错误类似于代码中的错误(在请求的页面中),而不是路由中的错误我正在设置调试模式,但它只是没有给我任何错误消息…路由::get('/'),'FrontendPageController@test'); 这对你有用吗?不,不适用。即使在FrontendPageController@test,这只是一个“你好世界”的回复;你检查过routes.php是否有两个“/”?请不要依赖控制器中的控制器。当然,永远不要在任何地方创建循环依赖关系。两个可怕的反模式。是的,花了一个下午的时间调试后同意了。。。那么,您是否介意分享一下,对于这种情况,您会注入哪些依赖项?可能是模型?不可能是模型。如果您希望跨多个控制器共享服务,请创建一个包含所有业务逻辑的服务。另一个步骤是通过在服务和DALI之间放置一个存储库来抽象模型,DALI希望从另一个控制器调用一个控制器中的函数,比如在UserController中,我想调用ImageController->getAvatarImageInfo()来获取用户的化身图像信息,或者调用PaymentController->makePayment()在OrderController中创建新订单时。。。你是说最好把所有这些功能都放在一个服务中?像拉雷维尔的服务提供商一样?不,服务提供商会注册服务。您将逻辑放在可以注入控制器的单独类中。您的想法是正确的,您希望重用代码,但实现错误。例如,制作一个具有图像功能的图像服务。然后将其注入两个控制器中,并按此方式使用。