Project

General

Profile

Actions

Fastcgi-php-starter-for-freebsd » History » Revision 7

« Previous | Revision 7/14 (diff) | Next »
moo, 2006-05-23 03:24
syntax highlight


= 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 [fastcgi-php.sh fastcgi-php.sh] to `/usr/local/etc/rc.d/`. Then {{{
#!ShellExample # 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: {{{
#!ShellExample # /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.
}}} Compatibility
The script was tested only under FreeBSD 6.0, but it should run under any modern FreeBSD system.

Updated by moo over 18 years ago · 7 revisions