php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login

Patch php-5.3.10-fpm-unofficial-by-Qzi.patch.txt for *Configuration Issues Bug #61063

Patch version 2012-02-12 20:39 UTC

Return to Bug #61063 | Download this patch
Patch Revisions:

Developer: hotseason007@gmail.com

diff -Naur php-5.3.10/sapi/fpm/init.d.php-fpm ./webstore/php-5.3.10/sapi/fpm/init.d.php-fpm
--- php-5.3.10/sapi/fpm/init.d.php-fpm	2012-02-12 20:54:26.000000000 +0800
+++ ./webstore/php-5.3.10/sapi/fpm/init.d.php-fpm	1970-01-01 08:00:00.000000000 +0800
@@ -1,138 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides:          php-fpm
-# Required-Start:    $remote_fs $network
-# Required-Stop:     $remote_fs $network
-# 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
-
-prefix=/opt/php
-exec_prefix=${prefix}
-
-php_fpm_BIN=${exec_prefix}/sbin/php-fpm
-php_fpm_CONF=${prefix}/etc/php-fpm.conf
-php_fpm_PID=${prefix}/var/run/php-fpm.pid
-
-
-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-quit"
-			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
diff -Naur php-5.3.10/sapi/fpm/php-fpm.8 ./webstore/php-5.3.10/sapi/fpm/php-fpm.8
--- php-5.3.10/sapi/fpm/php-fpm.8	2012-02-12 20:54:26.000000000 +0800
+++ ./webstore/php-5.3.10/sapi/fpm/php-fpm.8	1970-01-01 08:00:00.000000000 +0800
@@ -1,199 +0,0 @@
-.TH PHP-FPM 8 "2009" "The PHP Group" "Scripting Language"
-.SH NAME
-.TP 15
-php-fpm \- PHP FastCGI Process Manager 'PHP-FPM'
-.SH SYNOPSIS
-.B php-fpm
-[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 /opt/php/var/log/php-fpm.log.
-.LP
-Most options are set in the configuration file. The configuration file is /opt/php/etc/php-fpm.conf. By default, php-fpm will respond to CGI requests listening on localhost http port 9000. Therefore php-fpm 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
-.B \-\-prefix \fIpath\fP
-.TP
-.PD 1
-.B \-p
-Specify alternative prefix path (the default is /opt/php)
-.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 /opt/php/etc/php-fpm.conf)
-.TP
-.PD 0
-.B \-\-test
-.TP
-.PD 1
-.B \-t
-Test FPM configuration file and exit
-If called twice (-tt), the configuration is dumped before exiting.
-.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 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 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 start
-.RE
-.TP
-If your installation has no appropriate init script, launch php-fpm with no arguments. It will launch as a daemon (background process) by default. The file /opt/php/var/run/php-fpm.pid determines whether php-fpm is already up and running. Once started, php-fpm 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-fpm\fP, version 5.3.10.
-.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 license@php.net
-so we can mail you a copy immediately.
diff -Naur php-5.3.10/sapi/fpm/php-fpm.conf ./webstore/php-5.3.10/sapi/fpm/php-fpm.conf
--- php-5.3.10/sapi/fpm/php-fpm.conf	2012-02-12 20:54:25.000000000 +0800
+++ ./webstore/php-5.3.10/sapi/fpm/php-fpm.conf	1970-01-01 08:00:00.000000000 +0800
@@ -1,494 +0,0 @@
-;;;;;;;;;;;;;;;;;;;;;
-; FPM Configuration ;
-;;;;;;;;;;;;;;;;;;;;;
-
-; All relative paths in this configuration file are relative to PHP's install
-; prefix (/opt/php). This prefix can be dynamicaly changed by using the
-; '-p' argument from the command line.
-
-; Include one or more files. If glob(3) exists, it is used to include a bunch of
-; files from a glob(3) pattern. This directive can be used everywhere in the
-; file.
-; Relative path can also be used. They will be prefixed by:
-;  - the global prefix if it's been set (-p arguement)
-;  - /opt/php otherwise
-;include=etc/fpm.d/*.conf
-
-;;;;;;;;;;;;;;;;;;
-; Global Options ;
-;;;;;;;;;;;;;;;;;;
-
-[global]
-; Pid file
-; Note: the default prefix is /opt/php/var
-; Default Value: none
-;pid = run/php-fpm.pid
-
-; Error log file
-; If it's set to "syslog", log is sent to syslogd instead of being written
-; in a local file.
-; Note: the default prefix is /opt/php/var
-; Default Value: log/php-fpm.log
-;error_log = log/php-fpm.log
-
-; syslog_facility is used to specify what type of program is logging the
-; message. This lets syslogd specify that messages from different facilities
-; will be handled differently.
-; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
-; Default Value: daemon
-;syslog.facility = daemon
-
-; syslog_ident is prepended to every message. If you have multiple FPM
-; instances running on the same server, you can change the default value
-; which must suit common needs.
-; Default Value: php-fpm
-;syslog.ident = php-fpm
-
-; Log level
-; Possible Values: alert, error, warning, notice, debug
-; Default Value: notice
-;log_level = notice
-
-; If this number of child processes exit with SIGSEGV or SIGBUS within the time
-; interval set by emergency_restart_interval then FPM will restart. A value
-; of '0' means 'Off'.
-; Default Value: 0
-;emergency_restart_threshold = 0
-
-; Interval of time used by emergency_restart_interval to determine when 
-; a graceful restart will be initiated.  This can be useful to work around
-; accidental corruptions in an accelerator's shared memory.
-; Available Units: s(econds), m(inutes), h(ours), or d(ays)
-; Default Unit: seconds
-; Default Value: 0
-;emergency_restart_interval = 0
-
-; Time limit for child processes to wait for a reaction on signals from master.
-; Available units: s(econds), m(inutes), h(ours), or d(ays)
-; Default Unit: seconds
-; Default Value: 0
-;process_control_timeout = 0
-
-; The maximum number of processes FPM will fork. This has been design to control
-; the global number of processes when using dynamic PM within a lot of pools.
-; Use it with caution.
-; Note: A value of 0 indicates no limit
-; Default Value: 0
-; process.max = 128
-
-; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
-; Default Value: yes
-;daemonize = yes
- 
-; Set open file descriptor rlimit for the master process.
-; Default Value: system defined value
-;rlimit_files = 1024
- 
-; Set max core size rlimit for the master process.
-; Possible Values: 'unlimited' or an integer greater or equal to 0
-; Default Value: system defined value
-;rlimit_core = 0
-
-; Specify the event mechanism FPM will use. The following is available:
-; - select     (any POSIX os)
-; - poll       (any POSIX os)
-; - epoll      (linux >= 2.5.44)
-; - kqueue     (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)
-; - /dev/poll  (Solaris >= 7)
-; - port       (Solaris >= 10)
-; Default Value: not set (auto detection)
-; events.mechanism = epoll
-
-;;;;;;;;;;;;;;;;;;;;
-; Pool Definitions ; 
-;;;;;;;;;;;;;;;;;;;;
-
-; Multiple pools of child processes may be started with different listening
-; ports and different management options.  The name of the pool will be
-; used in logs and stats. There is no limitation on the number of pools which
-; FPM can handle. Your system will tell you anyway :)
-
-; Start a new pool named 'www'.
-; the variable $pool can we used in any directive and will be replaced by the
-; pool name ('www' here)
-[www]
-
-; Per pool prefix
-; It only applies on the following directives:
-; - 'slowlog'
-; - 'listen' (unixsocket)
-; - 'chroot'
-; - 'chdir'
-; - 'php_values'
-; - 'php_admin_values'
-; When not set, the global prefix (or /opt/php) applies instead.
-; Note: This directive can also be relative to the global prefix.
-; Default Value: none
-;prefix = /path/to/pools/$pool
-
-; Unix user/group of processes
-; Note: The user is mandatory. If the group is not set, the default user's group
-;       will be used.
-user = nobody
-group = nobody
-
-; The address on which to accept FastCGI requests.
-; Valid syntaxes are:
-;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
-;                            a specific port;
-;   'port'                 - to listen on a TCP socket to all addresses on a
-;                            specific port;
-;   '/path/to/unix/socket' - to listen on a unix socket.
-; Note: This value is mandatory.
-listen = 127.0.0.1:9000
-
-; Set listen(2) backlog. A value of '-1' means unlimited.
-; Default Value: 128 (-1 on FreeBSD and OpenBSD)
-;listen.backlog = -1
-
-; Set permissions for unix socket, if one is used. In Linux, read/write
-; permissions must be set in order to allow connections from a web server. Many
-; BSD-derived systems allow connections regardless of permissions. 
-; Default Values: user and group are set as the running user
-;                 mode is set to 0666
-;listen.owner = nobody
-;listen.group = nobody
-;listen.mode = 0666
- 
-; List of ipv4 addresses of FastCGI clients which are allowed to connect.
-; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
-; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
-; must be separated by a comma. If this value is left blank, connections will be
-; accepted from any ip address.
-; Default Value: any
-;listen.allowed_clients = 127.0.0.1
-
-; Choose how the process manager will control the number of child processes.
-; Possible Values:
-;   static  - a fixed number (pm.max_children) of child processes;
-;   dynamic - the number of child processes are set dynamically based on the
-;             following directives. With this process management, there will be
-;             always at least 1 children.
-;             pm.max_children      - the maximum number of children that can
-;                                    be alive at the same time.
-;             pm.start_servers     - the number of children created on startup.
-;             pm.min_spare_servers - the minimum number of children in 'idle'
-;                                    state (waiting to process). If the number
-;                                    of 'idle' processes is less than this
-;                                    number then some children will be created.
-;             pm.max_spare_servers - the maximum number of children in 'idle'
-;                                    state (waiting to process). If the number
-;                                    of 'idle' processes is greater than this
-;                                    number then some children will be killed.
-;  ondemand - no children are created at startup. Children will be forked when
-;             new requests will connect. The following parameter are used:
-;             pm.max_children           - the maximum number of children that
-;                                         can be alive at the same time.
-;             pm.process_idle_timeout   - The number of seconds after which
-;                                         an idle process will be killed.
-; Note: This value is mandatory.
-pm = dynamic
-
-; The number of child processes to be created when pm is set to 'static' and the
-; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
-; This value sets the limit on the number of simultaneous requests that will be
-; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
-; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
-; CGI. The below defaults are based on a server without much resources. Don't
-; forget to tweak pm.* to fit your needs.
-; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
-; Note: This value is mandatory.
-pm.max_children = 5
-
-; The number of child processes created on startup.
-; Note: Used only when pm is set to 'dynamic'
-; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
-pm.start_servers = 2
-
-; The desired minimum number of idle server processes.
-; Note: Used only when pm is set to 'dynamic'
-; Note: Mandatory when pm is set to 'dynamic'
-pm.min_spare_servers = 1
-
-; The desired maximum number of idle server processes.
-; Note: Used only when pm is set to 'dynamic'
-; Note: Mandatory when pm is set to 'dynamic'
-pm.max_spare_servers = 3
-
-; The number of seconds after which an idle process will be killed.
-; Note: Used only when pm is set to 'ondemand'
-; Default Value: 10s
-;pm.process_idle_timeout = 10s;
- 
-; The number of requests each child process should execute before respawning.
-; This can be useful to work around memory leaks in 3rd party libraries. For
-; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
-; Default Value: 0
-;pm.max_requests = 500
-
-; The URI to view the FPM status page. If this value is not set, no URI will be
-; recognized as a status page. It shows the following informations:
-;   pool                 - the name of the pool;
-;   process manager      - static, dynamic or ondemand;
-;   start time           - the date and time FPM has started;
-;   start since          - number of seconds since FPM has started;
-;   accepted conn        - the number of request accepted by the pool;
-;   listen queue         - the number of request in the queue of pending
-;                          connections (see backlog in listen(2));
-;   max listen queue     - the maximum number of requests in the queue
-;                          of pending connections since FPM has started;
-;   listen queue len     - the size of the socket queue of pending connections;
-;   idle processes       - the number of idle processes;
-;   active processes     - the number of active processes;
-;   total processes      - the number of idle + active processes;
-;   max active processes - the maximum number of active processes since FPM
-;                          has started;
-;   max children reached - number of times, the process limit has been reached,
-;                          when pm tries to start more children (works only for
-;                          pm 'dynamic' and 'ondemand');
-; Value are updated in real time.
-; Example output:
-;   pool:                 www
-;   process manager:      static
-;   start time:           01/Jul/2011:17:53:49 +0200
-;   start since:          62636
-;   accepted conn:        190460
-;   listen queue:         0
-;   max listen queue:     1
-;   listen queue len:     42
-;   idle processes:       4
-;   active processes:     11
-;   total processes:      15
-;   max active processes: 12
-;   max children reached: 0
-;
-; By default the status page output is formatted as text/plain. Passing either
-; 'html', 'xml' or 'json' in the query string will return the corresponding
-; output syntax. Example:
-;   http://www.foo.bar/status
-;   http://www.foo.bar/status?json
-;   http://www.foo.bar/status?html
-;   http://www.foo.bar/status?xml
-;
-; By default the status page only outputs short status. Passing 'full' in the
-; query string will also return status for each pool process.
-; Example: 
-;   http://www.foo.bar/status?full
-;   http://www.foo.bar/status?json&full
-;   http://www.foo.bar/status?html&full
-;   http://www.foo.bar/status?xml&full
-; The Full status returns for each process:
-;   pid                  - the PID of the process;
-;   state                - the state of the process (Idle, Running, ...);
-;   start time           - the date and time the process has started;
-;   start since          - the number of seconds since the process has started;
-;   requests             - the number of requests the process has served;
-;   request duration     - the duration in µs of the requests;
-;   request method       - the request method (GET, POST, ...);
-;   request URI          - the request URI with the query string;
-;   content length       - the content length of the request (only with POST);
-;   user                 - the user (PHP_AUTH_USER) (or '-' if not set);
-;   script               - the main script called (or '-' if not set);
-;   last request cpu     - the %cpu the last request consumed
-;                          it's always 0 if the process is not in Idle state
-;                          because CPU calculation is done when the request
-;                          processing has terminated;
-;   last request memory  - the max amount of memory the last request consumed
-;                          it's always 0 if the process is not in Idle state
-;                          because memory calculation is done when the request
-;                          processing has terminated;
-; If the process is in Idle state, then informations are related to the
-; last request the process has served. Otherwise informations are related to
-; the current request being served.
-; Example output:
-;   ************************
-;   pid:                  31330
-;   state:                Running
-;   start time:           01/Jul/2011:17:53:49 +0200
-;   start since:          63087
-;   requests:             12808
-;   request duration:     1250261
-;   request method:       GET
-;   request URI:          /test_mem.php?N=10000
-;   content length:       0
-;   user:                 -
-;   script:               /home/fat/web/docs/php/test_mem.php
-;   last request cpu:     0.00
-;   last request memory:  0
-;
-; Note: There is a real-time FPM status monitoring sample web page available
-;       It's available in: /opt/php/share/php/fpm/status.html
-;
-; Note: The value must start with a leading slash (/). The value can be
-;       anything, but it may not be a good idea to use the .php extension or it
-;       may conflict with a real PHP file.
-; Default Value: not set 
-;pm.status_path = /status
- 
-; The ping URI to call the monitoring page of FPM. If this value is not set, no
-; URI will be recognized as a ping page. This could be used to test from outside
-; that FPM is alive and responding, or to
-; - create a graph of FPM availability (rrd or such);
-; - remove a server from a group if it is not responding (load balancing);
-; - trigger alerts for the operating team (24/7).
-; Note: The value must start with a leading slash (/). The value can be
-;       anything, but it may not be a good idea to use the .php extension or it
-;       may conflict with a real PHP file.
-; Default Value: not set
-;ping.path = /ping
-
-; This directive may be used to customize the response of a ping request. The
-; response is formatted as text/plain with a 200 response code.
-; Default Value: pong
-;ping.response = pong
-
-; The access log file
-; Default: not set
-;access.log = log/$pool.access.log
-
-; The access log format.
-; The following syntax is allowed
-;  %%: the '%' character
-;  %C: %CPU used by the request
-;      it can accept the following format:
-;      - %{user}C for user CPU only
-;      - %{system}C for system CPU only
-;      - %{total}C  for user + system CPU (default)
-;  %d: time taken to serve the request
-;      it can accept the following format:
-;      - %{seconds}d (default)
-;      - %{miliseconds}d
-;      - %{mili}d
-;      - %{microseconds}d
-;      - %{micro}d
-;  %e: an environment variable (same as $_ENV or $_SERVER)
-;      it must be associated with embraces to specify the name of the env
-;      variable. Some exemples:
-;      - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
-;      - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
-;  %f: script filename
-;  %l: content-length of the request (for POST request only)
-;  %m: request method
-;  %M: peak of memory allocated by PHP
-;      it can accept the following format:
-;      - %{bytes}M (default)
-;      - %{kilobytes}M
-;      - %{kilo}M
-;      - %{megabytes}M
-;      - %{mega}M
-;  %n: pool name
-;  %o: ouput header
-;      it must be associated with embraces to specify the name of the header:
-;      - %{Content-Type}o
-;      - %{X-Powered-By}o
-;      - %{Transfert-Encoding}o
-;      - ....
-;  %p: PID of the child that serviced the request
-;  %P: PID of the parent of the child that serviced the request
-;  %q: the query string 
-;  %Q: the '?' character if query string exists
-;  %r: the request URI (without the query string, see %q and %Q)
-;  %R: remote IP address
-;  %s: status (response code)
-;  %t: server time the request was received
-;      it can accept a strftime(3) format:
-;      %d/%b/%Y:%H:%M:%S %z (default)
-;  %T: time the log has been written (the request has finished)
-;      it can accept a strftime(3) format:
-;      %d/%b/%Y:%H:%M:%S %z (default)
-;  %u: remote user
-;
-; Default: "%R - %u %t \"%m %r\" %s"
-;access.format = %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%
- 
-; The log file for slow requests
-; Default Value: not set
-; Note: slowlog is mandatory if request_slowlog_timeout is set
-;slowlog = log/$pool.log.slow
- 
-; The timeout for serving a single request after which a PHP backtrace will be
-; dumped to the 'slowlog' file. A value of '0s' means 'off'.
-; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
-; Default Value: 0
-;request_slowlog_timeout = 0
- 
-; The timeout for serving a single request after which the worker process will
-; be killed. This option should be used when the 'max_execution_time' ini option
-; does not stop script execution for some reason. A value of '0' means 'off'.
-; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
-; Default Value: 0
-;request_terminate_timeout = 0
- 
-; Set open file descriptor rlimit.
-; Default Value: system defined value
-;rlimit_files = 1024
- 
-; Set max core size rlimit.
-; Possible Values: 'unlimited' or an integer greater or equal to 0
-; Default Value: system defined value
-;rlimit_core = 0
- 
-; Chroot to this directory at the start. This value must be defined as an
-; absolute path. When this value is not set, chroot is not used.
-; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
-; of its subdirectories. If the pool prefix is not set, the global prefix
-; will be used instead.
-; Note: chrooting is a great security feature and should be used whenever 
-;       possible. However, all PHP paths will be relative to the chroot
-;       (error_log, sessions.save_path, ...).
-; Default Value: not set
-;chroot = 
- 
-; Chdir to this directory at the start.
-; Note: relative path can be used.
-; Default Value: current directory or / when chroot
-;chdir = /var/www
- 
-; Redirect worker stdout and stderr into main error log. If not set, stdout and
-; stderr will be redirected to /dev/null according to FastCGI specs.
-; Note: on highloaded environement, this can cause some delay in the page
-; process time (several ms).
-; Default Value: no
-;catch_workers_output = yes
-
-; Limits the extensions of the main script FPM will allow to parse. This can
-; prevent configuration mistakes on the web server side. You should only limit
-; FPM to .php extensions to prevent malicious users to use other extensions to
-; exectute php code.
-; Note: set an empty value to allow all extensions.
-; Default Value: .php
-;security.limit_extensions = .php .php3 .php4 .php5
- 
-; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
-; the current environment.
-; Default Value: clean env
-;env[HOSTNAME] = $HOSTNAME
-;env[PATH] = /usr/local/bin:/usr/bin:/bin
-;env[TMP] = /tmp
-;env[TMPDIR] = /tmp
-;env[TEMP] = /tmp
-
-; Additional php.ini defines, specific to this pool of workers. These settings
-; overwrite the values previously defined in the php.ini. The directives are the
-; same as the PHP SAPI:
-;   php_value/php_flag             - you can set classic ini defines which can
-;                                    be overwritten from PHP call 'ini_set'. 
-;   php_admin_value/php_admin_flag - these directives won't be overwritten by
-;                                     PHP call 'ini_set'
-; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
-
-; Defining 'extension' will load the corresponding shared extension from
-; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
-; overwrite previously defined php.ini values, but will append the new value
-; instead.
-
-; Note: path INI options can be relative and will be expanded with the prefix
-; (pool, global or /opt/php)
-
-; Default Value: nothing is defined by default except the values in php.ini and
-;                specified at startup with the -d argument
-;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
-;php_flag[display_errors] = off
-;php_admin_value[error_log] = /var/log/fpm-php.www.log
-;php_admin_flag[log_errors] = on
-;php_admin_value[memory_limit] = 32M
diff -Naur php-5.3.10/sapi/fpm/status.html ./webstore/php-5.3.10/sapi/fpm/status.html
--- php-5.3.10/sapi/fpm/status.html	2012-02-12 20:54:26.000000000 +0800
+++ ./webstore/php-5.3.10/sapi/fpm/status.html	1970-01-01 08:00:00.000000000 +0800
@@ -1,459 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<!--
-	$Id$
-	(c) 2011 Jerome Loyet
-	The PHP License, version 3.01
-	This is sample real-time status page for FPM. You can change it to better feet your needs.
--->
-	<head> 
-		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-		<style type="text/css"> 
-			body {background-color: #ffffff; color: #000000;}
-			body, td, th, h1, h2 {font-family: sans-serif;}
-			pre {margin: 0px; font-family: monospace;}
-			a:link {color: #000099; text-decoration: none; background-color: #ffffff;}
-			a:hover {text-decoration: underline;}
-			table {border-collapse: collapse;}
-			.center {text-align: center;}
-			.center table { margin-left: auto; margin-right: auto; text-align: left;}
-			.center th { text-align: center !important; }
-			td, th { border: 1px solid #000000; font-size: 75%; vertical-align: baseline;}
-			h1 {font-size: 150%;}
-			h2 {font-size: 125%;}
-			.p {text-align: left;}
-			.e {background-color: #ccccff; font-weight: bold; color: #000000;}
-			.h {background-color: #9999cc; font-weight: bold; color: #000000;}
-
-			.v {background-color: #cccccc; color: #000000;}
-			.w {background-color: #ccccff; color: #000000;}
-
-			.h th {
-				cursor: pointer;
-			}
-			img {float: right; border: 0px;}
-			hr {width: 600px; background-color: #cccccc; border: 0px; height: 1px; color: #000000;}
-		</style> 
-	<title>PHP-FPM status page</title>
-	<meta name="ROBOTS" content="NOINDEX,NOFOLLOW,NOARCHIVE" /></head> 
-	<body>
-		<div class="center">
-			<table border="0" cellpadding="3" width="95%">
-				<tr class="h">
-					<td> 
-						<a href="http://www.php.net/"><img border="0" src="https://static.php.net/www.php.net/images/php.gif" alt="PHP Logo" /></a><h1 class="p">PHP-FPM real-time status page</h1>
-					</td>
-				</tr>
-			</table>
-			<br />
-			<table border="0" cellpadding="3" width="95%">
-				<tr><td class="e">Status URL</td><td class="v"><input type="text" id="url" size="45" /></td></tr> 
-				<tr><td class="e">Ajax status</td><td class="v" id="status"></td></tr> 
-				<tr><td class="e">Refresh Rate</td><td class="v"><input type="text" id="rate" value="1" /></td></tr> 
-				<tr>
-					<td class="e">Actions</td>
-					<td class="v">
-						<button onclick="javascript:refresh();">Manual Refresh</button>
-						<button id="play" onclick="javascript:playpause();">Play</button>
-					</td>
-				</tr> 
-			</table>
-			<h1>Pool Status</h1> 
-			<table border="0" cellpadding="3" width="95%" id="short">
-				<tr style="display: none;"><td>&nbsp;</td></tr>
-			</table>
-			<h1>Active Processes status</h1> 
-			<table border="0" cellpadding="3" width="95%" id="active">
-				<tr class="h"><th>PID&darr;</th><th>Start Time</th><th>Start Since</th><th>Requests Served</th><th>Request Duration</th><th>Request method</th><th>Request URI</th><th>Content Length</th><th>User</th><th>Script</th></tr>
-			</table>
-			<h1>Idle Processes status</h1> 
-			<table border="0" cellpadding="3" width="95%" id="idle">
-				<tr class="h"><th>PID&darr;</th><th>Start Time</th><th>Start Since</th><th>Requests Served</th><th>Request Duration</th><th>Request method</th><th>Request URI</th><th>Content Length</th><th>User</th><th>Script</th><th>Last Request %CPU</th><th>Last Request Memory</th></tr>
-			</table>
-		</div>
-		<p>
-			<a href="http://validator.w3.org/check?uri=referer">
-				<img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" />
-			</a>
-		 </p>
-		<script type="text/javascript">
-<!--
-			var xhr_object = null;
-			var doc_url = document.getElementById("url");
-			var doc_rate = document.getElementById("rate");
-			var doc_status = document.getElementById("status");
-			var doc_play = document.getElementById("play");
-			var doc_short = document.getElementById("short");
-			var doc_active = document.getElementById("active");
-			var doc_idle = document.getElementById("idle");
-			var rate = 0;
-			var play=0;
-			var delay = 1000;
-			var order_active_index = 0;
-			var order_active_reverse = 0;
-			var order_idle_index = 0;
-			var order_idle_reverse = 0;
-			var sort_index;
-			var sort_order;
-
-			doc_url.value = location.protocol + '//' + location.host + "/status?json&full";
-
-			ths = document.getElementsByTagName("th");
-			for (var i=0; i<ths.length; i++) {
-				var th = ths[i];
-				if (th.parentNode.className == "h") {
-					th.onclick = function() { order(this); return false; };
-				}
-			}
-
-			xhr_object = create_ajax();
-
-			function create_ajax() {
-				if (window.XMLHttpRequest) {
-					return new XMLHttpRequest();
-				}
-				var names = [
-					"Msxml2.XMLHTTP.6.0",
-					"Msxml2.XMLHTTP.3.0",
-					"Msxml2.XMLHTTP",
-					"Microsoft.XMLHTTP"
-				];
-				for(var i in names)
-				{
-					try {
-						return new ActiveXObject(names[i]);
-					}	catch(e){}
-				}
-				alert("Browser not compatible ...");
-			}
-
-			function order(cell) {
-				var table;
-
-				if (cell.constructor != HTMLTableCellElement && cell.constructor != HTMLTableHeaderCellElement) {
-					return;
-				}
-
-				table = cell.parentNode.parentNode.parentNode;
-
-				if (table == doc_active) {
-					if (order_active_index == cell.cellIndex) {
-						if (order_active_reverse == 0) {
-							cell.innerHTML = cell.innerHTML.replace(/.$/, "&uarr;");
-							order_active_reverse = 1;
-						} else {
-							cell.innerHTML = cell.innerHTML.replace(/.$/, "&darr;");
-							order_active_reverse = 0;
-						}
-					} else {
-						var c = doc_active.rows[0].cells[order_active_index];
-						c.innerHTML = c.innerHTML.replace(/.$/, "");
-						cell.innerHTML = cell.innerHTML.replace(/$/, order_active_reverse == 0 ? "&darr;" : "&uarr;");
-						order_active_index = cell.cellIndex;
-					}
-					reorder(table, order_active_index, order_active_reverse);
-					return;
-				}
-
-				if (table == doc_idle) {
-					if (order_idle_index == cell.cellIndex) {
-						if (order_idle_reverse == 0) {
-							cell.innerHTML = cell.innerHTML.replace(/.$/, "&uarr;");
-							order_idle_reverse = 1;
-						} else {
-							cell.innerHTML = cell.innerHTML.replace(/.$/, "&darr;");
-							order_idle_reverse = 0;
-						}
-					} else {
-						var c = doc_idle.rows[0].cells[order_idle_index];
-						c.innerHTML = c.innerHTML.replace(/.$/, "");
-						cell.innerHTML = cell.innerHTML.replace(/$/, order_idle_reverse == 0 ? "&darr;" : "&uarr;");
-						order_idle_index = cell.cellIndex;
-					}
-					reorder(table, order_idle_index, order_idle_reverse);
-					return;
-				}
-			}
-
-			function reorder(table, index, order) {
-				var rows = [];
-				while (table.rows.length > 1) {
-					rows.push(table.rows[1]);
-					table.deleteRow(1);
-				}
-				sort_index = index;
-				sort_order = order;
-				rows.sort(sort_table);
-				for (var i in rows) {
-					table.appendChild(rows[i]);
-				}
-				var odd = 1;
-				for (var i=1; i<table.rows.length; i++) {
-					table.rows[i].className = odd++ % 2 == 0 ? "v" : "w";
-				}
-				return;
-			}
-
-			function sort_table(a, b) {
-				if (a.cells[0].tagName == "TH") return -1;
-				if (b.cells[0].tagName == "TH") return 1;
-
-				if (a.cells[sort_index].__search_t == 0) { /* integer */
-					if (!sort_order) return a.cells[sort_index].__search_v - b.cells[sort_index].__search_v;
-					return b.cells[sort_index].__search_v - a.cells[sort_index].__search_v;;
-				}
-
-				/* string */
-				if (!sort_order) return a.cells[sort_index].__search_v.localeCompare(b.cells[sort_index].__search_v);
-				else return b.cells[sort_index].__search_v.localeCompare(a.cells[sort_index].__search_v);
-			}
-
-			function playpause() {
-				rate = 0;
-				if (play) {
-					play = 0;
-					doc_play.innerHTML = "Play";
-					doc_rate.disabled = false;
-				} else {
-					delay = parseInt(doc_rate.value);
-					if (!delay || delay < 1) {
-						doc_status.innerHTML = "Not valid 'refresh' value";
-						return;
-					}
-					play = 1;
-					doc_rate.disabled = true;
-					doc_play.innerHTML = "Pause";
-					setTimeout("callback()", delay * 1000);
-				}
-			}
-
-			function refresh() {
-				if (xhr_object == null) return;
-				if (xhr_object.readyState > 0 && xhr_object.readyState < 4) {
-					return; /* request is running */
-				}
-				xhr_object.open("GET", doc_url.value, true);
-				xhr_object.onreadystatechange = function() {
-					switch(xhr_object.readyState) {
-						case 0:
-							doc_status.innerHTML = "uninitialized";
-							break;
-						case 1:
-							doc_status.innerHTML = "loading ...";
-							break;
-						case 2:
-							doc_status.innerHTML = "loaded";
-							break;
-						case 3:
-							doc_status.innerHTML = "interactive";
-							break;
-						case 4:
-							doc_status.innerHTML = "complete";
-							if (xhr_object.status == 200) {
-								fpm_status(xhr_object.responseText);
-							} else {
-								doc_status.innerHTML = "Error " + xhr_object.status;
-							}
-							break;
-					}
-				}
-				xhr_object.send();
-			}
-
-			function callback() {
-				if (!play) return;
-				refresh();
-				setTimeout("callback()", delay * 1000);
-			}
-
-			function fpm_status(txt) {
-				var json = null;
-
-				while (doc_short.rows.length > 0) {
-					doc_short.deleteRow(0);
-				}
-
-				while (doc_active.rows.length > 1) {
-					doc_active.deleteRow(1);
-				}
-
-				while (doc_idle.rows.length > 1) {
-					doc_idle.deleteRow(1);
-				}
-
-				try {
-					json = JSON.parse(txt);
-				} catch (e) {
-					doc_status.innerHTML =  "Error while parsing json: '" + e + "': <br /><pre>" + txt + "</pre>";
-					return;
-				}
-
-				for (var key in json) {
-					if (key == "processes") continue;
-					if (key == "state") continue;
-					var row = doc_short.insertRow(doc_short.rows.length);
-					var value = json[key];
-					if (key == "start time") {
-						value = new Date(value * 1000).toLocaleString();
-					}
-					if (key == "start since") {
-						value = time_s(value);
-					}
-					var cell = row.insertCell(row.cells.length);
-					cell.className = "e";
-					cell.innerHTML = key;
-
-					cell = row.insertCell(row.cells.length);
-					cell.className = "v";
-					cell.innerHTML = value;
-				}
-
-				if (json.processes) {
-					process_full(json.processes, doc_active, "Idle", 0, 0);
-					reorder(doc_active, order_active_index, order_active_reverse);
-
-					process_full(json.processes, doc_idle, "Idle", 1, 1);
-					reorder(doc_idle, order_idle_index, order_idle_reverse);
-				}
-			}
-
-			function process_full(processes, table, state, equal, cpumem) {
-				var odd = 1;
-
-				for (var i in processes) {
-					var proc = processes[i];
-					if ((equal && proc.state == state) || (!equal && proc.state != state)) {
-						var c = odd++ % 2 == 0 ? "v" : "w";
-						var row = table.insertRow(-1);
-						row.className = c;
-						row.insertCell(-1).innerHTML = proc.pid;
-						row.cells[row.cells.length - 1].__search_v = proc.pid;
-						row.cells[row.cells.length - 1].__search_t = 0;
-
-						row.insertCell(-1).innerHTML = date(proc['start time'] * 1000);;
-						row.cells[row.cells.length - 1].__search_v = proc['start time'];
-						row.cells[row.cells.length - 1].__search_t = 0;
-
-						row.insertCell(-1).innerHTML = time_s(proc['start since']);
-						row.cells[row.cells.length - 1].__search_v = proc['start since'];
-						row.cells[row.cells.length - 1].__search_t = 0;
-
-						row.insertCell(-1).innerHTML = proc.requests;
-						row.cells[row.cells.length - 1].__search_v = proc.requests;
-						row.cells[row.cells.length - 1].__search_t = 0;
-
-						row.insertCell(-1).innerHTML = time_u(proc['request duration']);
-						row.cells[row.cells.length - 1].__search_v = proc['request duration'];
-						row.cells[row.cells.length - 1].__search_t = 0;
-
-						row.insertCell(-1).innerHTML = proc['request method'];
-						row.cells[row.cells.length - 1].__search_v = proc['request method'];
-						row.cells[row.cells.length - 1].__search_t = 1;
-
-						row.insertCell(-1).innerHTML = proc['request uri'];
-						row.cells[row.cells.length - 1].__search_v = proc['request uri'];
-						row.cells[row.cells.length - 1].__search_t = 1;
-
-						row.insertCell(-1).innerHTML = proc['content length'];
-						row.cells[row.cells.length - 1].__search_v = proc['content length'];
-						row.cells[row.cells.length - 1].__search_t = 0;
-
-						row.insertCell(-1).innerHTML = proc.user;
-						row.cells[row.cells.length - 1].__search_v = proc.user;
-						row.cells[row.cells.length - 1].__search_t = 1;
-
-						row.insertCell(-1).innerHTML = proc.script;
-						row.cells[row.cells.length - 1].__search_v = proc.script;
-						row.cells[row.cells.length - 1].__search_t = 1;
-
-						if (cpumem) {
-							row.insertCell(-1).innerHTML = cpu(proc['last request cpu']);
-							row.cells[row.cells.length - 1].__search_v = proc['last request cpu'];
-							row.cells[row.cells.length - 1].__search_t = 0;
-
-							row.insertCell(-1).innerHTML = memory(proc['last request memory']);
-							row.cells[row.cells.length - 1].__search_v = proc['last request memory'];
-							row.cells[row.cells.length - 1].__search_t = 0;
-						}
-					}
-				}
-			}
-
-			function date(d) {
-				var t = new Date(d);
-				var r = "";
-
-				r += (t.getDate() < 10 ? '0' : '') + t.getDate();
-				r += '/';
-				r += (t.getMonth() + 1 < 10 ? '0' : '') + (t.getMonth() + 1);
-				r += '/';
-				r += t.getFullYear();
-				r += ' ';
-				r += (t.getHours() < 10 ? '0' : '') + t.getHours();
-				r += ':';
-				r += (t.getMinutes() < 10 ? '0' : '') + t.getMinutes();
-				r += ':';
-				r += (t.getSeconds() < 10 ? '0' : '') + t.getSeconds();
-
-
-				return r;
-			}
-
-			function cpu(c) {
-				if (c == 0) return 0;
-				return c + "%";
-			}
-
-			function memory(mem) {
-				if (mem == 0) return 0;
-				if (mem < 1024) {
-					return mem + "B";
-				}
-				if (mem < 1024 * 1024) {
-					return mem/1024 + "KB";
-				}
-				if (mem < 1024*1024*1024) {
-					return mem/1024/1024 + "MB";
-				}
-			}
-
-			function time_s(t) {
-				var r = "";
-				if (t < 60) {
-					return t + 's';
-				}
-
-				r = (t % 60) + 's';
-				t = Math.floor(t / 60);
-				if (t < 60) {
-					return t + 'm ' + r;
-				}
-
-				r = (t % 60) + 'm ' + r;
-				t = Math.floor(t/60);
-
-				if (t < 24) {
-					return t + 'h ' + r;
-				}
-
-				return Math.floor(t/24) + 'd ' + (t % 24) + 'h ' + t;
-			}
-
-			function time_u(t) {
-				var r = "";
-				if (t < 1000) {
-					return t + '&micro;s'
-				}
-
-				r = (t % 1000) + '&micro;s';
-				t = Math.floor(t / 1000);
-				if (t < 1000) {
-					return t + 'ms ' + r;
-				}
-
-				return time_s(Math.floor(t/1000)) + ' ' + (t%1000) + 'ms ' + r;
-			}
--->
-		</script>
-	</body>
-</html>
diff -Naur php-5.3.10/sapi/fpm/.svn/entries ./webstore/php-5.3.10/sapi/fpm/.svn/entries
--- php-5.3.10/sapi/fpm/.svn/entries	2012-02-12 13:53:58.000000000 +0800
+++ ./webstore/php-5.3.10/sapi/fpm/.svn/entries	1970-01-01 08:00:00.000000000 +0800
@@ -1,28 +0,0 @@
-10
-
-dir
-323161
-http://svn.php.net/repository/php/php-src/trunk/sapi/fpm
-http://svn.php.net/repository
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-incomplete
-c90b9560-bf6c-de11-be94-00142212c4b1
-
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Nov 25 19:01:32 2024 UTC