Fastcgi-php-starter-for-freebsd » History » Revision 1
Revision 1/14
| Next »
davojan, 2006-05-11 16:46
#!/bin/sh
- FreeBSD rc.d script for fastcgi+php
- in rc.conf
- fcgiphp_enable (bool): Set it to "YES" to enable fastcgi+php
- Default is "NO".
- other options see below #
. /etc/rc.subr
name="fcgiphp"
rcvar=`set_rcvar`
load_rc_config $name
: ${fcgiphp_enable="NO"}
: ${fcgiphp_user="www"}
: ${fcgiphp_group="www"}
: ${fcgiphp_children="10"}
: ${fcgiphp_port="8002"}
: ${fcgiphp_socket="/tmp/php-fastcgi.sock"}
: ${fcgiphp_env="SHELL PATH USER"}
: ${fcgiphp_max_requests="1000"}
: ${fcgiphp_addr="localhost"}
pidfile=/var/run/fcgiphp/fcgiphp.pid
procname="/usr/local/bin/php"
command_args="/usr/local/bin/spawn-fcgi 2> /dev/null -f /usr/local/bin/php -s ${fcgiphp_socket} -u ${fcgiphp_user} -g ${fcgiphp_group} -C ${fcgiphp_children} -P ${pidfile}"
start_precmd=start_precmd
stop_postcmd=stop_postcmd
PHP_FCGI_MAX_REQUESTS="${fcgiphp_max_requests}"
FCGI_WEB_SERVER_ADDRS=$fcgiphp_addr
export PHP_FCGI_MAX_REQUESTS
export FCGI_WEB_SERVER_ADDRS
allowed_env="${fcgiphp_env} PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS"
- copy the allowed environment variables
E=""
for i in $allowed_env; do
eval "x=\$$i"
E="$E $i=$x"
done
command="env - $E"
if [ -n $fcgiphp_socket ]; then
command_args="${command_args} -s ${fcgiphp_socket}"
elif [ -n "${fcgiphp_port}" ]; then
command_args="${command_args} -p ${fcgiphp_port}"
else
echo "socket or port must be specified!"
exit
fi
}
stop_postcmd()
{
rm -f ${pidfile}
eval "ipcs | awk '{ if (\$5 == \"${fcgiphp_user}\") print \"ipcrm -s \"\$2}' | /bin/sh"
}
run_rc_command "$1"
}}}
Updated by davojan over 18 years ago · 1 revisions