PHP 函数 exec() 停止加载网站

PHP function exec() stop loading site

我正在制作一个仪表板以在我的计算机上使用 VueJS 启动程序,我使用以下代码启动该程序:

    public function start() {

    if(session()->get('serverRunning') !== 'running') {
        session()->put('serverRunning', 'running');
        exec('cmd.exe /c start C:\Users\jensm\websites\MinecraftServer\public\server\run.bat');
        return (['message' => 'Running']);
    } else {
        exec('cmd.exe /c stop C:\Users\jensm\websites\MinecraftServer\public\server\run.bat');
        return (['message' => 'Offline']);
    }
}

但在那之后我的网站一直在加载并且不会 return 任何东西。只有当我从 windows 关闭命令提示符程序时,它才会给我消息。但我想保持命令提示符打开。

如评论所述,

您 运行 exec 启动命令提示符,然后您从那里 运行 执行 bat 文件的进一步进程。

解决这个问题的方法是简单地使用 system("cmd /c C:[path to file]"); 。这实质上是通过 system 运行 bat 文件,而无需打开命令提示符。

查看 System 的文档。您不需要停止程序执行(根据您在评论中的进一步问题)