2016-05-14 147 views
-1

我有一个简单的问题:PHP:如何在后台运行一个批处理脚本的[Windows]

我怎样才能一个窗口机器上运行的背景一个批处理脚本?我需要通过XAMPP与MySQL建立数据库连接。为此,我需要运行“mysql_start.bat”,问题是,下面的代码停止对PHP的exec-command执行(我认为它会等到脚本完成)。

exec("cmd /c C:\\xampp\\mysql_start.bat > tmp.txt 2>&1"); 

提示:重定向输出是没有必要的,我刚才已经尝试过了,也没有工作。

我还没有发现任何其他可能启动MySQL。

希望有人能帮助我。

您的Michael。

+1

网页代码通常不应该启动数据库服务器,它应该已经在运行... –

+0

您是否尝试重定向stdout和stderr? 'exec('program.exe> NUL 2> NUL')' –

+0

@Alexander O'Mara:我知道。这只是一个学校的项目。我没有在服务器上运行。但是我必须开始这个过程,但是...... awons:正如你在我的代码示例中看到的,我已经尝试将它重定向到tmp.txt中 - 没有成功。 (我不认为NUL和一个简单的txt文件是有区别的。) –

回答

0

使用“Bat_to_exe转换器”将您的批处理文件隐藏到Windows可执行文件中,只需删除“cmd/c”作为exec()参数的路径即可。

还使用异常处理方法或“死”来检查函数是否返回任何错误。