Fastcgi-php-starter-for-freebsd » History » Revision 6
Revision 5 (davojan, 2006-05-15 13:07) → Revision 6/14 (davojan, 2006-05-15 13:12)
= Handy External Spawning FastCGI PHP Processes in FreeBSD =
The script attached should be very handy for FreeBSD users. This is rc.d script to spawn FastCGI PHP processes. It is based on [source:tags/lighttpd-1.4.8/doc/spawn-php.sh spawn-php.sh] from `doc/` directory in the lighttpd sources.
== Install ==
Just copy [attachment:fastcgi-php.sh fastcgi-php.sh] to `/usr/local/etc/rc.d/`. Then
{{{
# cd /usr/local/etc/rc.d/
# chown root:wheel fastcgi-php.sh
# chmod 544 fastcgi-php.sh
# mkdir /var/run/fcgiphp
# chown www:www /var/run/fcgiphp
}}}
You should replace `www:www` in the last line with your user:group which FastCGI will run under (see `fcgiphp_user` and `fcgiphp_group` in configuration below).
== Configure ==
Here are configuration parameters with their default values, which you can change in `/etc/rc.conf`:
{{{
fcgiphp_enable="NO" # enable FastCGI+PHP
fcgiphp_bin_path="/usr/local/bin/php" # absolute path to the PHP binary
fcgiphp_user="www" # switch to user
fcgiphp_group="www" # switch to group
fcgiphp_children="10" # number of PHP childs to spawn
fcgiphp_port="8002" # bind to tcp-port on localhost
fcgiphp_socket="/tmp/php-fastcgi.sock" # bind to unix domain socket
fcgiphp_env="SHELL PATH USER" # allowed environment variables sperated by spaces
fcgiphp_max_requests="500" # number of request server by a single php-process until is will be restarted
fcgiphp_addr="localhost" # adresses where PHP should access server connections from
}}}
To make script workable you must adjust only one thing:
{{{
fcgiphp_enable="YES"
}}}
Note, that `socket` has more priority than `port`. If you want to bind to TCP-port you must unset socket parameter:
{{{
fcgiphp_socket=""
fcgiphp_port="8002"
}}}
== Control ==
Now you can:
{{{
# /usr/local/etc/rc.d/fastcgi-php.sh start
Starting fcgiphp.
# /usr/local/etc/rc.d/fastcgi-php.sh stop
Stopping fcgiphp.
# /usr/local/etc/rc.d/fastcgi-php.sh restart
Stopping fcgiphp.
Starting fcgiphp.
}}}
== PHP + APC Issues ==
Coming soon...
== Compatibility ==
The script was tested only under FreeBSD 6.0, but it should run under any modern FreeBSD system.