首页 > 解决方案 > 运行 php artisan websockets:无需主管自动服务

问题描述

我有一个带有Beyondcode/laravel-websockets包的 laravel 项目。

每次我想运行 websockets,我需要运行:

php 工匠 websockets:服务
我不能为生产做这个。

我无权访问 apache 生产服务器,所以我无法安装主管包,我可以修改的关于 apache 的只有我的 .htaccess 文件。

我如何运行这个命令或其他东西来自动启动我的 websocket 应用程序?

标签: phplaravelwebsocketpusherlaravel-websockets

解决方案


我刚刚做了一条这样的路线来运行命令

Route::group(['prefix' => 'internal', 'middleware' => ['jwt.verify','admin']], function(){
    Route::get('sockets/serve', function(){
        \Illuminate\Support\Facades\Artisan::call('websockets:serve');
    });
});

我不知道它是否是最好的选择,但它可以 100% 正常工作,所以我很满意。当路由被调用时,它保持无限的时间流逝,那是因为该命令是一个监听器并且从不返回响应,所以路由永远不会返回响应,只是关闭窗口或其他东西。

再次感谢Huy Trịnh


推荐阅读