xref: /lighttpd1.4/doc/scripts/spawn-php.sh (revision ac087bd9)
1*ac087bd9SMarcus Rückert#!/bin/bash
2*ac087bd9SMarcus Rückert
3*ac087bd9SMarcus Rückert## ABSOLUTE path to the spawn-fcgi binary
4*ac087bd9SMarcus RückertSPAWNFCGI="/home/weigon/projects/spawn-fcgi/src/spawn-fcgi"
5*ac087bd9SMarcus Rückert
6*ac087bd9SMarcus Rückert## ABSOLUTE path to the PHP binary
7*ac087bd9SMarcus RückertFCGIPROGRAM="/usr/local/bin/php"
8*ac087bd9SMarcus Rückert
9*ac087bd9SMarcus Rückert## TCP port to which to bind on localhost
10*ac087bd9SMarcus RückertFCGIPORT="1026"
11*ac087bd9SMarcus Rückert
12*ac087bd9SMarcus Rückert## number of PHP children to spawn
13*ac087bd9SMarcus RückertPHP_FCGI_CHILDREN=10
14*ac087bd9SMarcus Rückert
15*ac087bd9SMarcus Rückert## maximum number of requests a single PHP process can serve before it is restarted
16*ac087bd9SMarcus RückertPHP_FCGI_MAX_REQUESTS=1000
17*ac087bd9SMarcus Rückert
18*ac087bd9SMarcus Rückert## IP addresses from which PHP should access server connections
19*ac087bd9SMarcus RückertFCGI_WEB_SERVER_ADDRS="127.0.0.1,192.168.2.10"
20*ac087bd9SMarcus Rückert
21*ac087bd9SMarcus Rückert# allowed environment variables, separated by spaces
22*ac087bd9SMarcus RückertALLOWED_ENV="ORACLE_HOME PATH USER"
23*ac087bd9SMarcus Rückert
24*ac087bd9SMarcus Rückert## if this script is run as root, switch to the following user
25*ac087bd9SMarcus RückertUSERID=wwwrun
26*ac087bd9SMarcus RückertGROUPID=wwwrun
27*ac087bd9SMarcus Rückert
28*ac087bd9SMarcus Rückert
29*ac087bd9SMarcus Rückert################## no config below this line
30*ac087bd9SMarcus Rückert
31*ac087bd9SMarcus Rückertif test x$PHP_FCGI_CHILDREN = x; then
32*ac087bd9SMarcus Rückert  PHP_FCGI_CHILDREN=5
33*ac087bd9SMarcus Rückertfi
34*ac087bd9SMarcus Rückert
35*ac087bd9SMarcus Rückertexport PHP_FCGI_MAX_REQUESTS
36*ac087bd9SMarcus Rückertexport FCGI_WEB_SERVER_ADDRS
37*ac087bd9SMarcus Rückert
38*ac087bd9SMarcus RückertALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS"
39*ac087bd9SMarcus Rückert
40*ac087bd9SMarcus Rückertif test x$UID = x0; then
41*ac087bd9SMarcus Rückert  EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -u $USERID -g $GROUPID -C $PHP_FCGI_CHILDREN"
42*ac087bd9SMarcus Rückertelse
43*ac087bd9SMarcus Rückert  EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -C $PHP_FCGI_CHILDREN"
44*ac087bd9SMarcus Rückertfi
45*ac087bd9SMarcus Rückert
46*ac087bd9SMarcus Rückert# copy the allowed environment variables
47*ac087bd9SMarcus RückertE=
48*ac087bd9SMarcus Rückert
49*ac087bd9SMarcus Rückertfor i in $ALLOWED_ENV; do
50*ac087bd9SMarcus Rückert  E="$E $i=${!i}"
51*ac087bd9SMarcus Rückertdone
52*ac087bd9SMarcus Rückert
53*ac087bd9SMarcus Rückert# clean the environment and set up a new one
54*ac087bd9SMarcus Rückertenv - $E $EX
55