You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel桌面应用运行时如何隐藏自动启动的命令提示符窗口

你遇到的问题是Laravel桌面应用启动时,php artisan serve对应的命令提示符窗口会主动弹出显示,效果如下:
效果示意图

解决方案

可根据你的使用场景选择对应方法:

场景1:Windows系统直接启动服务

  • 使用VBS脚本实现完全隐藏窗口
    新建一个后缀为.vbs的文件,写入以下内容:
    Set WshShell = CreateObject("WScript.Shell") 
    WshShell.Run "php artisan serve --host=127.0.0.1 --port=8000", 0, False
    
    后续直接运行该vbs文件即可启动服务,不会弹出命令窗口。其中参数0就是指定程序后台静默运行。

场景2:基于Electron等框架打包的桌面应用

启动子进程调用php命令时,添加隐藏窗口的配置参数即可,Electron示例代码如下:

const { spawn } = require('child_process');
const artisanProcess = spawn('php', ['artisan', 'serve', '--port=8000'], {
  cwd: '替换为你的Laravel项目根目录绝对路径',
  windowsHide: true, // 核心参数,隐藏Windows控制台窗口
  shell: false
});

如果使用Tauri等其他桌面打包框架,在调用系统命令的接口中开启windows_hide相关配置即可。

优化建议

  • 桌面端生产场景不推荐使用php artisan serve,可选择集成PHP内置服务器、或者nginx+php-cgi的组合,稳定性更高。
  • 桌面应用退出时要主动kill掉对应的php进程,避免后台残留占用端口导致下次启动失败。

内容的提问来源于stack exchange,提问作者Abdur Rehman Alvi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:54:04