The php5-cgi (until 5.2.4) package does not include a script to automatically start it in external FASTCGI Mode (Daemon mode).
As there is some confusion on the Internet on how to properly set PHP script execution in the Nginx Web server, I am attaching the script that we reliably use at most of the e-healthexpert.org servers and all of our OpenEMR and Care2x setups. This is how we install it in Ubuntu/Debian(sudo enabled): sudo nano /etc/init.d/php-fastcgi # copy and paste the text between the "--- cut here ---" to this file and save it (<CTRL>+x, Y, <ENTER>). sudo chmod u+x /etc/init.d/php-fastcgi sudo chown 0.0 /etc/init.d/php-fastcgi sudo update-rc.d php-fastcgi defaults 21 23 I hope it may also help you at your setups. M. --- cut here --- #! /bin/sh # ### BEGIN INIT INFO # Provides: php-fastcgi # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start and stop php-cgi in external FASTCGI mode # Description: Start and stop php-cgi in external FASTCGI mode ### END INIT INFO # # Do NOT "set -e" # Default values are enclosed in [] PATH=/usr/sbin:/usr/bin:/sbin:/bin # Start php-fastcgi? [no] START=yes # Read configuration data NAME=php-fastcgi DESC="php-cgi runing in external FASTCGI mode" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Daemon pathname and args: IP=[127.0.0.1], port=[9000] # /usr/bin/php-cgi links to -> /etc/alternatives/php-cgi -> /usr/bin/php5-cgi DAEMON=/usr/bin/php-cgi DAEMON_ARGS="-q -b 127.0.0.1:9000" # Which user runs PHP? [www-data] EXEC_AS_USER=www-data # php-cgi env. variables: spawned children [5] , concurrent requests [1000] PHP_FCGI_CHILDREN=5 PHP_FCGI_MAX_REQUESTS=125 export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS # Exit if php-cgi is not installed [ -x "$DAEMON" ] || exit 0 # Load rcS variable settings and set (re)start/stop verbosity [ -f /etc/default/rcS ] && . /etc/default/rcS VERBOSE=yes # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # If $START not 'yes' AND we are not stopping the $DAEMON if [ "$START" != "yes" -a "$1" != "stop" ]; then log_warning_msg "To enable $NAME, edit /etc/init.d/$NAME and set START=yes" exit 0 fi do_start() { # Return values: 0=started ok,1=already running,2=unable to start start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ --test > /dev/null || return 1 start-stop-daemon --start --quiet --background \ --chuid $EXEC_AS_USER --pidfile $PIDFILE --make-pidfile \ --exec $DAEMON -- $DAEMON_ARGS \ || return 2 } do_stop() { # Return values: 0=stopped ok,1=already stopped,2=unable to stop, # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ --pidfile $PIDFILE > /dev/null # --name $DAEMON RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 \ --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; restart|force-reload) log_daemon_msg "Restarting $DESC" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac # --- cut here --- ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Care2002-developers mailing list Care2002-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/care2002-developers