如何通过 Web 端调用 artisan 命令并用 websocket 之类的方法在网页上实时打印输出内容?
artisan命令的参数比较难造,一些任务要调用多个artisan命令
想再做一层封装,从web端调用,批量执行一批artisan命令,让拼参数的操作更人性化
但原本artisan命令的自由度还要保留,可以让专业人士在服务器shell上继续手动调用
想在网页上,把artisan命令的输出内容都同步展示出来,不止如何实现。
shell_exec()?
可以使用楼上方法直接使用,但是我不太建议这种方式,一般这种函数比较危险,服务器都会禁用的
artisan 本身就是支持 web 调用的。
laravel-admin 有个网页调用artisan的插件,你可以看看
首先需要一台websocket服务端,浏览器先连接到websocket服务端,定义artisan命令时,连接上websocket服务端,并且推送输出的消息,由websocket服务端广播出去,浏览器就可以收到输出啦
~