ԲװϷϲ456Ϸͨ98
DNF ͨϷױ555 Ϸ456ϷDNF456Ϸͨ 98ϲϷϷԷŷϷŷϷ

windows系统下启动php-cgi的启动脚本,适合nginx

2010年02月27日 | 2:31 上午分类:资源共享 | 标签: |

@ECHO OFF

SET ROOT=D:\Rdpm-Server\host\php
SET EXEC=php-cgi.exe

IF NOT EXIST “%ROOT%\%EXEC%” (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO ‘%ROOT%\%EXEC%’ not found.
GOTO QUIT
)

REM =============
REM SET FUNCTIONS
REM =============

IF “%1″==”" GOTO HELP
IF “%1″==”-h” GOTO HELP

IF “%1″==”-b” (
GOTO CHKBIND
) ELSE (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO Invalid parameter.
GOTO HELP
)

:CHKBIND
REM ===================
REM CHECK ADDRESS VALUE
REM ===================

IF “%2″==”" (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO Server address isn’t defined.
GOTO HELP
) ELSE (
SET BIND=%2
)

IF “%3″==”" GOTO SETDEFS

IF “%3″==”-p” (
GOTO CHKPORT
) ELSE (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO Invalid parameter.
GOTO HELP
)

:CHKPORT
REM ================
REM CHECK PORT VALUE
REM ================

IF “%4″==”" (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO Server port isn’t defined.
GOTO HELP
) ELSE (
SET PORT=%4
)

IF “%5″==”" GOTO SETDEFS

IF “%5″==”-c” (
GOTO CHKCHLD
) ELSE (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO Invalid parameter.
GOTO HELP
)

:CHKCHLD
REM =================
REM CHECK CHILD VALUE
REM =================

IF “%6″==”" (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO Child processes aren’t defined.
GOTO HELP
) ELSE (
SET CHLD=%6
GOTO CHKRCVE
)

:CHKRCVE
REM =====================
REM CHECK RECURSIVE VALUE
REM =====================

IF “%7″==”-r” (
SET RCVE=Y
GOTO SETENV
)

IF “%7″==”-s” (
SET RCVE=N
GOTO SETENV
)

IF “%7″==”" (
GOTO SETDEFS
) ELSE (
ECHO.
ECHO Fatal Error:
ECHO ————
ECHO Invalid parameter.
GOTO HELP
)

:HELP

REM ====
REM HELP
REM ====

ECHO.
ECHO Command-line usage:
ECHO ——————-
ECHO %0 -b ^
-p ^ -c ^ [-r^|-s]

IF “%1″==”-h” GOTO QUIT
IF “%1″==”-?” GOTO QUIT

IF “%1″==”" (
GOTO SETDEFS
) ELSE (
GOTO QUIT
)

:SETDEFS

REM =================
REM SET SERVER VALUES
REM =================

ECHO.
ECHO Set server values
ECHO —————–

IF NOT DEFINED BIND (
SET BIND=127.0.0.1
) ELSE (
GOTO SELPORT
)

:SETBIND
SET /P BIND=”Server address [%BIND%]: ”

:SELPORT
IF NOT DEFINED PORT (
SET PORT=1900
) ELSE (
GOTO SELCHLD
)

:SETPORT
SET /P PORT=”Server port [%PORT%]: ”

:SELCHLD
IF NOT DEFINED CHLD (
SET CHLD=5
) ELSE (
GOTO SELRCVE
)

:SETCHLD
SET /P CHLD=”Child processes [%CHLD%]: ”

:SELRCVE
IF NOT DEFINED RCVE (
SET RCVE=Y
) ELSE (
GOTO SETENV
)

ECHO.

:SETRCVE
SET /P RCVE=”Do you want to run server as recursive mode [Y/n]: ”

:SETENV
IF %CHLD% GEQ 10 (
SET PHP_FCGI_CHILDREN=10
) ELSE (
SET PHP_FCGI_CHILDREN=%CHLD%
)
SET PHP_FCGI_MAX_REQUESTS=1000

IF “%RCVE%”==”y” SET RECURSE=ENA
IF “%RCVE%”==”Y” SET RECURSE=ENA
IF “%RCVE%”==”n” SET RECURSE=DIS
IF “%RCVE%”==”N” SET RECURSE=DIS

ECHO.
ECHO PHP Version Information
ECHO ———————–

SET CDIR=%CD%
CD /D “%ROOT%”
%EXEC% -v

ECHO.
ECHO FastCGI Server Options
ECHO ———————-
ECHO Host: %BIND%
ECHO Port: %PORT%
ECHO Child processes: %PHP_FCGI_CHILDREN% ^(Max requests: %PHP_FCGI_MAX_REQUESTS%^)

IF “%RECURSE%”==”ENA” (
ECHO Crash detection: RECURSIVE ^(protected mode^)
) ELSE (
ECHO Crash detection: STANDALONE ^(non-protected mode^)
)

ECHO.
ECHO Event log
ECHO ———

GOTO EXECRUN

:GENMSG

REM ===============
REM SET DATE FORMAT
REM ===============

SET FDATE=%DATE:~0,4%/%DATE:~5,2%/%DATE:~8,2%

IF “%TIME:~0,1%”==” ” (
SET FTIME=0%time:~1,1%:%time:~3,2%:%time:~6,2%
) ELSE (
SET FTIME=%time:~0,2%:%time:~3,2%:%time:~6,2%
)

ECHO [%FDATE% %FTIME%] – %CMESSAGE%

IF NOT DEFINED ITEM (
GOTO EXECRUN
) ELSE (
GOTO %ITEM%
)

:EXECRUN

IF NOT DEFINED ITEM (
SET CMESSAGE=PHP-FastCGI Server is started.
) ELSE (
SET CMESSAGE=PHP-FastCGI Server is ^(re^)started.
)

SET ITEM=SPAWNPHP

GOTO GENMSG

:SPAWNPHP

%EXEC% -b %HOST%:%PORT%

IF “%RECURSE%”==”ENA” (
SET CMESSAGE=Server is crashed, restarting…
SET ITEM=EXECRUN
) ELSE (
SET CMESSAGE=Server is crashed, aborting…
SET ITEM=CRASH
)

GOTO GENMSG

:CRASH
ECHO.
ECHO Press any key to exit…
PAUSE >NUL

:QUIT
IF DEFINED CDIR (
CD /D %CDIR%
)

转载请注明:本文转载自 纯 白 色 http://www.7qy.com/html/186.html



Copyright © 2003-2010 7QY.COM All Rights Reserved.

纯白色.INC 版权所有 2003-2010

浩飞数据中心提供网站空间

苏ICP备05064273号