【发布时间】:2021-04-01 09:22:54
【问题描述】:
我正在尝试通过 forge 和 digitalocean 部署我的 laravel 项目。虽然它在我的本地开发环境中运行良好,但我很难让 laravel-websockets 包运行。
因此,虽然我的“CruiseCrontroller”在本地运行良好,但不知何故在生产中给了我以下错误。
[2020-12-22 15:42:00] production.ERROR: Class 'App\Events\newRoom' not found {"exception":"[object] (Error(code: 0): Class 'App\\Events\newRoom' not found at /home/forge/default/app/Http/Controllers/CruiseController.php:49)
这是 CruiseController 中提到的行:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Events\newRoom;
use App\Events\RoomStatusUpdate;
use App\Room;
use App\Sailor;
use Carbon\Carbon;
class CruiseController extends Controller
{
public function newRoom(Request $request){
...
event(new NewRoom($room->channel_id));
}
...
我现在用谷歌搜索并通过 stackoverflow 搜索了 2 小时,希望这里有人能指出我正确的方向。谢谢
【问题讨论】:
-
newRoom看起来像什么?此外,从它的类名来看,它可能违反 PSR-4/0,这将阻止它被添加到 composer 2 中的自动加载器 -
另外,请记住,您已导入
newRoom,但随后调用了不存在的new NewRoom -
在您的命名和大小写用法上保持一致...您有
App\Events\RoomStatusUpdate,这是正确的大小写,但也有App\Events\newRoom,这是不正确的大小写。那应该是NewRoom,您在下面正确引用了它。到处都是:P
标签: laravel laravel-events laravel-websockets