Windows批处理脚本打开控制台窗口

Phe*_*yne 3 php windows nginx batch-file

我正在尝试建立一个朋友的Windows 7计算机来运行Nginx和PHP5.我在网上发现了一个启动和停止Nginx和PHP的脚本,在添加目录更改行之后,我能够使它工作.但是,似乎有一个问题导致它离开启动PHP打开的第二个控制台窗口.有没有办法让控制台窗口关闭?

批处理脚本:

@ECHO OFF

CD C:\nginx

tasklist /FI "IMAGENAME eq nginx.exe" | find /I "nginx.exe" > NUL && (
    GOTO STOP
) || (
    GOTO START
)

:START
ECHO Starting nginx
start nginx
ECHO Starting PHP
start php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
GOTO DONE

:STOP
ECHO Stopping nginx
start nginx -s quit
ECHO Stopping PHP
taskkill /f /IM php-cgi.exe

:DONE
TIMEOUT 3
Run Code Online (Sandbox Code Playgroud)

mal*_*der 5

你可以使用/ b参数START,而无需打开另一个cmd窗口启动应用程序

START /b php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
Run Code Online (Sandbox Code Playgroud)

更新:
看来这是php-cgi.exe的行为.有关完整的故事和解决方法,请参阅此文章.http://wiki.nginx.org/PHPFastCGIOnWindows

启动后,php-cgi.exe将继续在命令提示符窗口中侦听连接.要隐藏该窗口,请使用小实用程序RunHiddenConsole

基本上,您只需要d/l并将RunHiddenConsole解压缩到您的nginx目录,然后将此行更改为:

RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
Run Code Online (Sandbox Code Playgroud)