Project

General

Profile

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

Revision 8 (davojan, 2006-05-27 11:39) → Revision 9/14 (davojan, 2006-05-27 11:56)

= 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 
 {{{ 
 #!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`: 
 {{{ 
 #!sh 
 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 separated 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: 
 {{{ 
 #!sh 
 fcgiphp_enable="YES" 
 }}} 
 Note, that `socket` has more priority than `port`. If you want to bind to TCP-port you must unset socket parameter: 
 {{{ 
 #!sh 
 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.