tony2001                                 Mon, 14 Dec 2009 11:57:21 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=292129

Log:
drop conf/ and man/
simplify config.m4 a bit
fix exec_prefix issue

Changed paths:
    _U  php/php-src/branches/PHP_5_3_FPM/sapi/fpm/
    U   php/php-src/branches/PHP_5_3_FPM/sapi/fpm/Makefile.frag
    D   php/php-src/branches/PHP_5_3_FPM/sapi/fpm/conf/
    U   php/php-src/branches/PHP_5_3_FPM/sapi/fpm/config.m4
    A   php/php-src/branches/PHP_5_3_FPM/sapi/fpm/init.d.php-fpm.in
    D   php/php-src/branches/PHP_5_3_FPM/sapi/fpm/man/
    A   php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.1.in
    A   php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.conf.in

Property changes on: php/php-src/branches/PHP_5_3_FPM/sapi/fpm
___________________________________________________________________
Modified: svn:ignore
   - .deps
.libs
php-fpm
php-fpm.1

   + .deps
.libs
php-fpm
php-fpm.1
init.d.php-fpm
php-fpm.conf


Modified: php/php-src/branches/PHP_5_3_FPM/sapi/fpm/Makefile.frag
===================================================================
--- php/php-src/branches/PHP_5_3_FPM/sapi/fpm/Makefile.frag	2009-12-14 10:56:34 UTC (rev 292128)
+++ php/php-src/branches/PHP_5_3_FPM/sapi/fpm/Makefile.frag	2009-12-14 11:57:21 UTC (rev 292129)
@@ -17,7 +17,7 @@
 	@echo "Installing PHP FPM config:        $(INSTALL_ROOT)$(php_fpm_conf_dir)/" && \
 	$(mkinstalldirs) $(INSTALL_ROOT)$(php_fpm_conf_dir) || :

-	@$(INSTALL_DATA) sapi/fpm/conf/php-fpm.conf $(INSTALL_ROOT)$(php_fpm_conf_dir)/php-fpm.conf.default || :
+	@$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(php_fpm_conf_dir)/php-fpm.conf.default || :

 	@echo "Installing PHP FPM man page:      $(INSTALL_ROOT)$(mandir)/man1/"
 	@$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1

Modified: php/php-src/branches/PHP_5_3_FPM/sapi/fpm/config.m4
===================================================================
--- php/php-src/branches/PHP_5_3_FPM/sapi/fpm/config.m4	2009-12-14 10:56:34 UTC (rev 292128)
+++ php/php-src/branches/PHP_5_3_FPM/sapi/fpm/config.m4	2009-12-14 11:57:21 UTC (rev 292129)
@@ -539,7 +539,7 @@
   fi

   if test -z "$exec_prefix" -o "$exec_prefix" = "NONE"; then
-    exec_prefix="/usr/local"
+    exec_prefix=`eval echo "$prefix"`
   fi

   php_fpm_bin_path=`eval echo "$bindir"`
@@ -606,21 +606,6 @@

 ])

-
-AC_DEFUN([AC_FPM_OUTPUT],
-[
-  PHP_OUTPUT(sapi/fpm/conf/php-fpm.conf:sapi/fpm/conf/php-fpm.conf.in)
-  PHP_OUTPUT(sapi/fpm/conf/init.d.php-fpm:sapi/fpm/conf/init.d.php-fpm.in)
-  PHP_OUTPUT(sapi/fpm/php-fpm.1:sapi/fpm/man/php-fpm.1.in)
-])
-
-
-AC_DEFUN([AC_FPM_CONF],
-[
-  AC_FPM_ARGS
-  AC_FPM_VARS
-  AC_FPM_OUTPUT
-])
 dnl }}}


@@ -646,8 +631,10 @@
   ])

   AC_FPM_CHECKS
-  AC_FPM_CONF
+  AC_FPM_ARGS
+  AC_FPM_VARS

+  PHP_OUTPUT(sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.1)
   PHP_ADD_MAKEFILE_FRAGMENT([$abs_srcdir/sapi/fpm/Makefile.frag], [$abs_srcdir/sapi/fpm], [sapi/fpm])

   SAPI_FPM_PATH=sapi/fpm/php-fpm

Added: php/php-src/branches/PHP_5_3_FPM/sapi/fpm/init.d.php-fpm.in
===================================================================
--- php/php-src/branches/PHP_5_3_FPM/sapi/fpm/init.d.php-fpm.in	                        (rev 0)
+++ php/php-src/branches/PHP_5_3_FPM/sapi/fpm/init.d.php-fpm.in	2009-12-14 11:57:21 UTC (rev 292129)
@@ -0,0 +1,135 @@
+#! /bin/sh
+
+### BEGIN INIT INFO
+# Provides:          php-fpm
+# Required-Start:    $all
+# Required-Stop:     $all
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: starts php-fpm
+# Description:       starts the PHP FastCGI Process Manager daemon
+### END INIT INFO
+
+php_fpm_b...@php_fpm_bin_path@
+php_fpm_co...@php_fpm_conf_path@
+php_fpm_p...@php_fpm_pid_path@
+
+
+php_opts="--fpm-config $php_fpm_CONF"
+
+
+wait_for_pid () {
+	try=0
+
+	while test $try -lt 35 ; do
+
+		case "$1" in
+			'created')
+			if [ -f "$2" ] ; then
+				try=''
+				break
+			fi
+			;;
+
+			'removed')
+			if [ ! -f "$2" ] ; then
+				try=''
+				break
+			fi
+			;;
+		esac
+
+		echo -n .
+		try=`expr $try + 1`
+		sleep 1
+
+	done
+
+}
+
+case "$1" in
+	start)
+		echo -n "Starting php-fpm "
+
+		$php_fpm_BIN $php_opts
+
+		if [ "$?" != 0 ] ; then
+			echo " failed"
+			exit 1
+		fi
+
+		wait_for_pid created $php_fpm_PID
+
+		if [ -n "$try" ] ; then
+			echo " failed"
+			exit 1
+		else
+			echo " done"
+		fi
+	;;
+
+	stop)
+		echo -n "Gracefully shutting down php-fpm "
+
+		if [ ! -r $php_fpm_PID ] ; then
+			echo "warning, no pid file found - php-fpm is not running ?"
+			exit 1
+		fi
+
+		kill -QUIT `cat $php_fpm_PID`
+
+		wait_for_pid removed $php_fpm_PID
+
+		if [ -n "$try" ] ; then
+			echo " failed. Use force-exit"
+			exit 1
+		else
+			echo " done"
+		fi
+	;;
+
+	force-quit)
+		echo -n "Terminating php-fpm "
+
+		if [ ! -r $php_fpm_PID ] ; then
+			echo "warning, no pid file found - php-fpm is not running ?"
+			exit 1
+		fi
+
+		kill -TERM `cat $php_fpm_PID`
+
+		wait_for_pid removed $php_fpm_PID
+
+		if [ -n "$try" ] ; then
+			echo " failed"
+			exit 1
+		else
+			echo " done"
+		fi
+	;;
+
+	restart)
+		$0 stop
+		$0 start
+	;;
+
+	reload)
+
+		echo -n "Reload service php-fpm "
+
+		if [ ! -r $php_fpm_PID ] ; then
+			echo "warning, no pid file found - php-fpm is not running ?"
+			exit 1
+		fi
+
+		kill -USR2 `cat $php_fpm_PID`
+
+		echo " done"
+	;;
+
+	*)
+		echo "Usage: $0 {start|stop|force-quit|restart|reload}"
+		exit 1
+	;;
+
+esac

Added: php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.1.in
===================================================================
--- php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.1.in	                        (rev 0)
+++ php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.1.in	2009-12-14 11:57:21 UTC (rev 292129)
@@ -0,0 +1,186 @@
+.TH PHP-FPM 1 "2009" "The PHP Group" "Scripting Language"
+.SH NAME
+.TP 15
+...@php_fpm_bin@ \- PHP FastCGI Process Manager 'PHP-FPM'
+.SH SYNOPSIS
+.B @php_fpm_bin@
+[options]
+.LP
+.SH DESCRIPTION
+\fBPHP\fP is a widely\-used general\-purpose scripting language that is especially suited for
+Web development and can be embedded into HTML. This is a variant of PHP that will run in the background as a daemon, listening for CGI requests. Output is logged to @php_fpm_log_p...@.
+.LP
+Most options are set in the configuration file. The configuration file is @php_fpm_conf_p...@. By default, @php_fpm_bin@ will respond to CGI requests listening on localhost http port 9000. Therefore @php_fpm_bin@ expects your webserver to forward all requests for '.php' files to port 9000 and you should edit your webserver configuration file appropriately.
+.SH OPTIONS
+.TP 15
+.B \-C
+Do not chdir to the script's directory
+.TP
+.PD 0
+.B \-\-php\-ini \fIpath\fP|\fIfile\fP
+.TP
+.PD 1
+.B \-c \fIpath\fP|\fIfile\fP
+Look for
+.B php.ini
+file in the directory
+.IR path
+or use the specified
+.IR file
+.TP
+.PD 0
+.B \-\-no\-php\-ini
+.TP
+.PD 1
+.B \-n
+No
+.B php.ini
+file will be used
+.TP
+.PD 0
+.B \-\-define \fIfoo\fP[=\fIbar\fP]
+.TP
+.PD 1
+.B \-d \fIfoo\fP[=\fIbar\fP]
+Define INI entry
+.IR foo
+with value
+.IR bar
+.TP
+.B \-e
+Generate extended information for debugger/profiler
+.TP
+.PD 0
+.B \-\-help
+.TP
+.PD 1
+.B \-h
+This help
+.TP
+.PD 0
+.B \-\-info
+.TP
+.PD 1
+.B \-i
+PHP information and configuration
+.TP
+.PD 0
+.B \-\-modules
+.TP
+.PD 1
+.B \-m
+Show compiled in modules
+.TP
+.PD 0
+.B \-\-version
+.TP
+.PD 1
+.B \-v
+Version number
+.TP
+.PD 0
+.B \-\-fpm\-config \fIfile\fP
+.TP
+.PD 1
+.B \-\-y
+Specify alternative path to FastCGI process manager configuration file (the default is @php_fpm_conf_path@)
+.TP
+.PD 0
+.B \-\-zend\-extension \fIfile\fP
+.TP
+.PD 1
+.B \-z \fIfile\fP
+Load Zend extension
+.IR file
+.SH FILES
+.TP 15
+.B @php_fpm_...@.conf
+The configuration file for the @php_fpm_bin@ daemon.
+.TP
+.B php.ini
+The standard php configuration file.
+.SH EXAMPLES
+You should use the init script provided to start and stop the @php_fpm_bin@ daemon. This situation applies for any unix systems which use init.d for their main process manager.
+.P
+.PD 1
+.RS
+sudo /etc/init.d/@php_fpm_bin@ start
+.RE
+.TP
+If your installation has no appropriate init script, launch @php_fpm_bin_path@ with no arguments. It will launch as a daemon (background process) by default. The file @php_fpm_pid_path@ determines whether @php_fpm_bin@ is already up and running. Once started, @php_fpm_bin@ then responds to several POSIX signals:
+.P
+.PD 0
+.RS
+.B SIGINT,SIGTERM 	\fPimmediate termination
+.TP
+.B SIGQUIT 			\fPgraceful stop
+.TP
+.B SIGUSR1 			\fPre-open log file
+.TP
+.B SIGUSR2 			\fPgraceful reload of all workers + reload of fpm conf/binary
+.RE
+.PD 1
+.P
+.SH TIPS
+The PHP-FPM CGI daemon will work well with most popular webservers, including Apache2, lighttpd and nginx.
+.PD 1
+.P
+.SH SEE ALSO
+The PHP-FPM website:
+.PD 0
+.P
+.B http://php-fpm.org
+.PD 1
+.P
+For a more or less complete description of PHP look here:
+.PD 0
+.P
+.B http://www.php.net/manual/
+.PD 1
+.P
+A nice introduction to PHP by Stig Bakken can be found here:
+.PD 0
+.P
+.B http://www.zend.com/zend/art/intro.php
+.PD 1
+.SH BUGS
+You can view the list of known bugs or report any new bug you
+found at:
+.PD 0
+.P
+.B http://bugs.php.net
+.PD 1
+.SH AUTHORS
+PHP-FPM SAPI was written by Andrei Nigmatulin. The mailing-lists are highload-php-en (English) and highload-php-ru (Russian).
+.P
+The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski.
+.P
+A List of active developers can be found here:
+.PD 0
+.P
+.B http://www.php.net/credits.php
+.PD 1
+.P
+And last but not least PHP was developed with the help of a huge amount of
+contributors all around the world.
+.SH VERSION INFORMATION
+This manpage describes \fBphp\fP, version @PHP_VERSION@, \fBfpm\fP, version @fpm_vers...@.
+.SH COPYRIGHT
+Copyright \(co 1997\-2009 The PHP Group
+.PD 0
+.P
+Copyright (c) 2007-2009, Andrei Nigmatulin
+.PD 1
+.LP
+This source file is subject to version 3.01 of the PHP license,
+that is bundled with this package in the file LICENSE, and is
+available through the world-wide-web at the following url:
+.PD 0
+.P
+.B http://www.php.net/license/3_01.txt
+.PD 1
+.P
+If you did not receive a copy of the PHP license and are unable to
+obtain it through the world-wide-web, please send a note to
+.B lice...@php.net
+so we can mail you a copy immediately.

Added: php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.conf.in
===================================================================
--- php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.conf.in	                        (rev 0)
+++ php/php-src/branches/PHP_5_3_FPM/sapi/fpm/php-fpm.conf.in	2009-12-14 11:57:21 UTC (rev 292129)
@@ -0,0 +1,159 @@
+<?xml version="1.0" ?>
+<configuration>
+
+	All relative paths in this config are relative to php's install prefix
+
+	<section name="global_options">
+
+		Pid file
+		<value name="pid_file">@php_fpm_pid_path@</value>
+
+		Error log file
+		<value name="error_log">@php_fpm_log_path@</value>
+
+		Log level
+		<value name="log_level">notice</value>
+
+		When this amount of php processes exited with SIGSEGV or SIGBUS ...
+		<value name="emergency_restart_threshold">10</value>
+
+		... in a less than this interval of time, a graceful restart will be initiated.
+		Useful to work around accidental curruptions in accelerator's shared memory.
+		<value name="emergency_restart_interval">1m</value>
+
+		Time limit on waiting child's reaction on signals from master
+		<value name="process_control_timeout">5s</value>
+
+		Set to 'no' to debug fpm
+		<value name="daemonize">yes</value>
+
+	</section>
+
+	<workers>
+
+		<section name="pool">
+
+			Name of pool. Used in logs and stats.
+			<value name="name">default</value>
+
+			Address to accept fastcgi requests on.
+			Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'
+			<value name="listen_address">127.0.0.1:9000</value>
+
+			<value name="listen_options">
+
+				Set listen(2) backlog
+				<value name="backlog">-1</value>
+
+				Set permissions for unix socket, if one used.
+				In Linux read/write permissions must be set in order to allow connections from web server.
+				Many BSD-derrived systems allow connections regardless of permissions.
+				<value name="owner">@php_fpm_user@</value>
+				<value name="group">@php_fpm_group@</value>
+				<value name="mode">0666</value>
+			</value>
+
+			Additional php.ini defines, specific to this pool of workers.
+			These settings overwrite the values previously defined in the php.ini.
+			<value name="php_defines">
+				<!-- <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> -->
+				<!-- <value name="display_errors">0</value> -->
+				<!-- <value name="error_log">/var/log/php-error.log</value> -->
+        		<!-- <value name="log_errors">true</value> -->
+			</value>
+
+			Unix user of processes
+			<value name="user">@php_fpm_user@</value>
+
+			Unix group of processes
+			<value name="group">@php_fpm_group@</value>
+
+			Process manager settings
+			<value name="pm">
+
+				Sets style of controling worker process count.
+				Valid values are 'static' and 'apache-like'
+				<value name="style">static</value>
+
+				Sets the limit on the number of simultaneous requests that will be served.
+				Equivalent to Apache MaxClients directive.
+				Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
+				Used with any pm_style.
+				<value name="max_children">5</value>
+
+				Settings group for 'apache-like' pm style
+				<value name="apache_like">
+
+					Sets the number of server processes created on startup.
+					Used only when 'apache-like' pm_style is selected
+					<value name="StartServers">20</value>
+
+					Sets the desired minimum number of idle server processes.
+					Used only when 'apache-like' pm_style is selected
+					<value name="MinSpareServers">5</value>
+
+					Sets the desired maximum number of idle server processes.
+					Used only when 'apache-like' pm_style is selected
+					<value name="MaxSpareServers">35</value>
+
+				</value>
+
+			</value>
+
+			The timeout (in seconds) for serving a single request after which the worker process will be terminated
+			Should be used when 'max_execution_time' ini option does not stop script execution for some reason
+			'0s' means 'off'
+			<value name="request_terminate_timeout">0s</value>
+
+			The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
+			'0s' means 'off'
+			<value name="request_slowlog_timeout">0s</value>
+
+			The log file for slow requests
+			<value name="slowlog">@php_fpm_log_p...@.slow</value>
+
+			Set open file desc rlimit
+			<value name="rlimit_files">1024</value>
+
+			Set max core size rlimit
+			<value name="rlimit_core">0</value>
+
+			Chroot to this directory at the start, absolute path
+			<value name="chroot"></value>
+
+			Chdir to this directory at the start, absolute path
+			<value name="chdir"></value>
+
+			Redirect workers' stdout and stderr into main error log.
+			If not set, they will be redirected to /dev/null, according to FastCGI specs
+			<value name="catch_workers_output">yes</value>
+
+			How much requests each process should execute before respawn.
+			Useful to work around memory leaks in 3rd party libraries.
+			For endless request processing please specify 0
+			Equivalent to PHP_FCGI_MAX_REQUESTS
+			<value name="max_requests">500</value>
+
+			Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
+			Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
+			Makes sense only with AF_INET listening socket.
+			<value name="allowed_clients">127.0.0.1</value>
+
+			Pass environment variables like LD_LIBRARY_PATH
+			All $VARIABLEs are taken from current environment
+			<value name="environment">
+				<value name="HOSTNAME">$HOSTNAME</value>
+				<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
+				<value name="TMP">/tmp</value>
+				<value name="TMPDIR">/tmp</value>
+				<value name="TEMP">/tmp</value>
+				<value name="OSTYPE">$OSTYPE</value>
+				<value name="MACHTYPE">$MACHTYPE</value>
+				<value name="MALLOC_CHECK_">2</value>
+			</value>
+
+		</section>
+
+	</workers>
+
+</configuration>
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to