Spawn PHP5/4 fastcgi on mac osx
下面是我使用的脚本,用于启动php5/4的fastcgi daemon,和linux 上使用的版本基本一样:
#!/bin/bash
#PID for SPAWN Process
PID=/tmp/php5-fcgi.pid
## ABSOLUTE path to the spawn-fcgi binary
SPAWNFCGI="/usr/local/bin/spawn-fcgi"
## ABSOLUTE path to the PHP binary
FCGIPROGRAM="/usr/local/php5/bin/php5"
#FCGIPROGRAM="/usr/local/bin/php"
## TCP port to which to bind on localhost
FCGIPORT="1026"
FCGISOCKET=/tmp/php5.socket
## number of PHP children to spawn
PHP_FCGI_CHILDREN=2
## maximum number of requests a single PHP process can serve before it is restarted
PHP_FCGI_MAX_REQUESTS=1000
## IP addresses from which PHP should access server connections
FCGI_WEB_SERVER_ADDRS="127.0.0.1,192.168.2.10,192.168.80.108"
# php.ini
PHPRC=/usr/local/php5/etc/php.ini
# allowed environment variables, separated by spaces
ALLOWED_ENV="ORACLE_HOME PATH USER"
## if this script is run as root, switch to the following user
USERID=www
GROUPID=www
ICE_HOME=/opt/Ice-3.2.0
export ICE_HOME
export DYLD_LIBRARY_PATH=$ICE_HOME/lib:$DYLD_LIBRARY_PATH
################## no config below this line
if test x$PHP_FCGI_CHILDREN = x; then
PHP_FCGI_CHILDREN=5
fi
export PHP_FCGI_MAX_REQUESTS
export FCGI_WEB_SERVER_ADDRS
export PHPRC
ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS PHPRC ICE_HOME DYLD_LIBRARY_PATH"
if test x$UID = x0; then
if test x$FCGISOCKET = x; then
EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -u $USERID -g $GROUPID -C $PHP_FCGI_CHILDREN -P $PID"
else
EX="$SPAWNFCGI -s $FCGISOCKET -f $FCGIPROGRAM -u $USERID -g $GROUPID -C $PHP_FCGI_CHILDREN -P $PID "
fi
else
if test x$FCGISOCKET = x; then
EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -C $PHP_FCGI_CHILDREN -P $PID "
else
EX="$SPAWNFCGI -s $FCGISOCKET -f $FCGIPROGRAM -C $PHP_FCGI_CHILDREN -P $PID"
fi
fi
# copy the allowed environment variables
E=
for i in $ALLOWED_ENV; do
E="$E $i=${!i}"
done
# clean the environment and set up a new one
start(){
if [ -f $PID ];then
echo "PHP is running already.";
exit 1;
fi
env - $E $EX
}
stop(){
if test -f $PID;then
killall `basename $FCGIPROGRAM`
rm -f $PID
else
echo "PHP is not running"
fi
}
#Main################
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
*)
echo "usage: $0 {start|stop|restart}"
;;
esac
exit 1
Comments
Leave a Reply