ReflectionException error on php artisan


ReflectionException error on php artisan

每当我运行工匠命令时,我都会收到以下错误消息:

{"error":{"type":"ReflectionException","message":"Class OrdersModel does not exist","file":"'/home'/vagrant'/Omono'/vendor'/laravel'/framework'/src'/Illuminate'/Container'/Container.php","line":552}}

这只发生在我的流浪测试服务器上,而不是在生产环境中。我试过跑步

composer dump-autoload

等。我已经签入了composer.json,它在那里有模型文件夹。我还签入了供应商/作曲家/autoload_classmap.php,它有我的映射:

'OrdersModel' => $baseDir . '/app/models/Orders.php',

我不确定还有什么可以尝试纠正这个问题。

编辑:请注意,我对OrdersModel或实际幼虫应用程序上的任何其他类没有任何问题。

EDIT2(重要??):因此,通过添加跟踪语句的艰苦任务,因为冗长似乎不起作用,我发现问题在于创建服务提供商时,归结为在应用程序中创建"单例"。我没有编写这段代码,但看起来有一个接口(OrderRepositoryInterface)和一个映射到它的实现(DbOrderRepository)。文件启动如下

<?php namespace Omono'Repositories;
use OrdersModel as Order;

因此,无论出于何种原因,这是它寻找订单模型并且找不到它的地方。我很确定这个模块在实际的 Web 应用程序中没有问题。因此,由于某种原因,它无法在此文件夹中找到OrdersModel,仅在运行工匠时

编辑3:

PHP -V 给出:

PHP Warning:  Module 'mongo' already loaded in Unknown on line 0
PHP 5.5.12-2+deb.sury.org~trusty+1 (cli) (built: May 12 2014 13:48:43) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

我还应该指出,当我访问网站时,一切运行良好。订单模型做它应该做的事情没有问题,我没有收到任何错误。这仅在运行工匠命令时发生。也许不相关,但每次我更新我的流浪测试服务器(有问题的服务器)时,我都需要运行作曲家转储自动加载才能让几个类工作。

好的,

所以经过很多玩法,我设法解决了这个问题。这是一个非常具体的问题,但我会发布我的答案,以防有人发现这个问题。

因此,从编辑 2 开始,我决定注释掉引用此类的服务提供程序中的行...... 手指交叉...成功了。有点。它实际上因为行使用日志而吐出一个错误; 在我的代码中。有趣。让我们删除它。它有效。所以我取消了对我的类的评论,在课堂上我注意到我也使用了 Log。在这种情况下,它不在默认命名空间中,所以这是正确的,但我实际上并没有在任何地方调用 Log,所以,到底是什么,不妨删除它。没有骰子。然后在这个类和一个几乎相同的类之间切换。我注意到

use MyApp'Repositories'OrderRepositoryInterface;

等一会。这不是必需的;因为这在同一个命名空间中。我删除了那行。低头,瞧瞧一切都是固定的。

总结;嗯...我不知道。我根本不知道错误消息是什么意思,但基本上只是在您的服务提供商中检查类似的东西。我也读到很多人遇到问题,因为他们使用而不是.