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> </td></tr>
- </table>
- <h1>Active Processes status</h1>
- <table border="0" cellpadding="3" width="95%" id="active">
- <tr class="h"><th>PID↓</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↓</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(/.$/, "↑");
- order_active_reverse = 1;
- } else {
- cell.innerHTML = cell.innerHTML.replace(/.$/, "↓");
- 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 ? "↓" : "↑");
- 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(/.$/, "↑");
- order_idle_reverse = 1;
- } else {
- cell.innerHTML = cell.innerHTML.replace(/.$/, "↓");
- 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 ? "↓" : "↑");
- 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 + 'µs'
- }
-
- r = (t % 1000) + 'µ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
-
|