This script was found here.
Save this file as /etc/init.d/phpfcgid
#!/bin/sh
# PROVIDE: phpfcgid
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="phpfcgid"
rcvar=`set_rcvar`
load_rc_config $name
: ${phpfcgid_enable="NO"}
: ${phpfcgid_users="www"}
: ${phpfcgid_children="2"}
: ${phpfcgid_tmpdir="/tmp"}
: ${phpfcgid_requests="500"}
restart_cmd=phpfcgid_restart
start_cmd=phpfcgid_start
stop_cmd=phpfcgid_stop
phpfcgid_start() {
echo "Starting $name with ${phpfcgid_children} children (req: ${phpfcgid_requests})."
export PHP_FCGI_CHILDREN=${phpfcgid_children}
export PHP_FCGI_MAX_REQUESTS=${phpfcgid_requests}
for user in ${phpfcgid_users}; do
socketdir="${phpfcgid_tmpdir}/.fastcgi.${user}"
mkdir -p ${socketdir}
chown ${user}:www ${socketdir}
chmod 0750 ${socketdir}
su -m ${user} -c "/usr/local/bin/php-cgi -b ${socketdir}/socket&"
done
}
phpfcgid_stop() {
echo "Stopping $name."
pids=`pgrep php-cgi`
pkill php-cgi
wait_for_pids $pids
}
phpfcgid_restart() {
phpfcgid_stop
phpfcgid_start
}
run_rc_command "$1"