我试图build立一个朋友的Windows 7电脑运行Nginx和PHP5。 我发现一个脚本在线开始和停止Nginx和PHP,添加目录更改行后,我能够使其工作。 但是,似乎有一个问题导致它离开启动PHP的第二个控制台窗口打开。 有没有办法使控制台窗口closures?
批处理脚本:
@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 -cc:\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
您可以使用START
上的/ b参数来启动应用程序,而无需打开另一个cmd窗口
START /b php\php-cgi.exe -b 127.0.0.1:9000 -cc:\nginx\php\php.ini
更新:
看来这是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 -cc:\nginx\php\php.ini
您正在寻找
start php\php-cgi.exe -b 127.0.0.1:9000 -cc:\nginx\php\php.ini /exit b
要运行.BAT不可见,您可以使用简单的vbs脚本。
把它放在一个.VBS文件中:
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
然后像这样运行你的BAT:
wscript.exe "C:\invisible.vbs" "C:\YourBat.bat"