Project

General

Profile

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

Revision 3 (davojan, 2006-05-15 12:48) → Revision 4/14 (davojan, 2006-05-15 12:51)

= 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/` doc/ directory in the lighttpd sources. 

 == Installing == 
 Just copy [attachment:fastcgi-php.sh fastcgi-php.sh] to `/usr/local/etc/rc.d/`. /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` www:www in the last line with your user:group which FastCGI will run under (see `fcgiphp_user` fcgiphp_user and `fcgiphp_group` fcgiphp_group in configuration below). 

 == Configuring == 
 Here are configuration parameters with their default values, which you can change in `/etc/rc.conf`: /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" 
 }}} 

 == 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...