--- php-5.4.0alpha2/configure.ac~ 2011-08-07 12:43:31.000000000 +0300
+++ php-5.4.0alpha2/configure.ac 2011-08-07 12:44:11.495394662 +0300
@@ -1271,6 +1271,9 @@
- ;;
- esac
+ PHP_OS=`uname | xargs`
+ AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
+# shift so that extensions like xml are loaded first
+PHP_MODULES=$(echo "$PHP_MODULES" | sed -e 's,\(.*\)\(\$(phplibdir)/xml.la \),\2\1,')
+
PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
- PHP_SUBST(PHP_EXECUTABLE)
+ PHP_SUBST(PHP_FASTCGI_OBJS)
--- php-5.5.11/build/Makefile.global 2014-04-27 15:05:38.963814051 +0300
+++ php-5.5.11/build/Makefile.global 2014-04-27 15:09:54.438443707 +0300
@@ -81,8 +81,15 @@
+++ /dev/null
---- php-5.6.5/sapi/fpm/php-fpm.conf.in~ 2015-02-04 19:22:00.000000000 +0200
-+++ php-5.6.5/sapi/fpm/php-fpm.conf.in 2015-02-04 19:23:22.109298245 +0200
-@@ -6,14 +6,6 @@
- ; prefix (@prefix@). This prefix can be dynamically 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 argument)
--; - @prefix@ otherwise
--;include=etc/fpm.d/*.conf
--
- ;;;;;;;;;;;;;;;;;;
- ; Global Options ;
- ;;;;;;;;;;;;;;;;;;
-@@ -115,415 +115,3 @@
- ; 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:
--; - 'access.log'
--; - 'slowlog'
--; - 'listen' (unixsocket)
--; - 'chroot'
--; - 'chdir'
--; - 'php_values'
--; - 'php_admin_values'
--; When not set, the global prefix (or @php_fpm_prefix@) 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 = @php_fpm_user@
--group = @php_fpm_group@
--
--; 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 IPv4 address on
--; a specific port;
--; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
--; a specific port;
--; 'port' - to listen on a TCP socket to all IPv4 addresses on a
--; specific port;
--; '[::]:port' - to listen on a TCP socket to all addresses
--; (IPv6 and IPv4-mapped) 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.
--; Default Value: 65535 (-1 on FreeBSD and OpenBSD)
--;listen.backlog = 65535
--
--; 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 0660
--;listen.owner = @php_fpm_user@
--;listen.group = @php_fpm_group@
--;listen.mode = 0660
--; When POSIX Access Control Lists are supported you can set them using
--; these options, value is a comma separated list of user/group names.
--; When set, listen.owner and listen.group are ignored
--;listen.acl_users =
--;listen.acl_groups =
--
--; List of addresses (IPv4/IPv6) 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
--
--; Specify the nice(2) priority to apply to the pool processes (only if set)
--; The value can vary from -19 (highest priority) to 20 (lower priority)
--; Note: - It will only work if the FPM master process is launched as root
--; - The pool processes will inherit the master process priority
--; unless it specified otherwise
--; Default Value: no set
--; process.priority = -19
--
--; 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: @EXPANDED_DATADIR@/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: output 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
--
--; Clear environment in FPM workers
--; Prevents arbitrary environment variables from reaching FPM worker processes
--; by clearing the environment in workers before env vars specified in this
--; pool configuration are added.
--; Setting to "no" will make all environment variables available to PHP code
--; via getenv(), $_ENV and $_SERVER.
--; Default Value: yes
--;clear_env = no
--
--; 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 @prefix@)
--
--; 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
---- /dev/null 2007-02-13 18:29:53.000000000 +0200
-+++ php-5.6.5/sapi/fpm/php-fpm.conf-d.in 2015-02-04 19:23:20.709225773 +0200
-@@ -0,0 +1,411 @@
-+; 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:
-+; - 'access.log'
-+; - 'slowlog'
-+; - 'listen' (unixsocket)
-+; - 'chroot'
-+; - 'chdir'
-+; - 'php_values'
-+; - 'php_admin_values'
-+; When not set, the global prefix (or @php_fpm_prefix@) 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 = @php_fpm_user@
-+group = @php_fpm_group@
-+
-+; 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 IPv4 address on
-+; a specific port;
-+; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
-+; a specific port;
-+; 'port' - to listen on a TCP socket to all IPv4 addresses on a
-+; specific port;
-+; '[::]:port' - to listen on a TCP socket to all addresses
-+; (IPv6 and IPv4-mapped) 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.
-+; Default Value: 65535 (-1 on FreeBSD and OpenBSD)
-+;listen.backlog = 65535
-+
-+; 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 0660
-+;listen.owner = @php_fpm_user@
-+;listen.group = @php_fpm_group@
-+;listen.mode = 0660
-+; When POSIX Access Control Lists are supported you can set them using
-+; these options, value is a comma separated list of user/group names.
-+; When set, listen.owner and listen.group are ignored
-+;listen.acl_users =
-+;listen.acl_groups =
-+
-+; List of addresses (IPv4/IPv6) 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
-+
-+; Specify the nice(2) priority to apply to the pool processes (only if set)
-+; The value can vary from -19 (highest priority) to 20 (lower priority)
-+; Note: - It will only work if the FPM master process is launched as root
-+; - The pool processes will inherit the master process priority
-+; unless it specified otherwise
-+; Default Value: no set
-+; process.priority = -19
-+
-+; 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: @EXPANDED_DATADIR@/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: output 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
-+
-+; Clear environment in FPM workers
-+; Prevents arbitrary environment variables from reaching FPM worker processes
-+; by clearing the environment in workers before env vars specified in this
-+; pool configuration are added.
-+; Setting to "no" will make all environment variables available to PHP code
-+; via getenv(), $_ENV and $_SERVER.
-+; Default Value: yes
-+;clear_env = no
-+
-+; 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 @prefix@)
-+
-+; 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
---- php-5.5.7/sapi/fpm/config.m4~ 2013-12-16 17:57:03.000000000 +0200
-+++ php-5.5.7/sapi/fpm/config.m4 2013-12-16 18:00:34.936527309 +0200
-@@ -609,7 +609,7 @@
-
- PHP_ADD_BUILD_DIR(sapi/fpm/fpm)
- PHP_ADD_BUILD_DIR(sapi/fpm/fpm/events)
-- PHP_OUTPUT(sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html)
-+ PHP_OUTPUT(sapi/fpm/php-fpm.conf sapi/fpm/php-fpm.conf-d sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html)
- PHP_ADD_MAKEFILE_FRAGMENT([$abs_srcdir/sapi/fpm/Makefile.frag])
-
- SAPI_FPM_PATH=sapi/fpm/php-fpm
---- php-5.6.2/sapi/fpm/Makefile.frag~ 2014-10-15 15:59:32.000000000 +0300
-+++ php-5.6.2/sapi/fpm/Makefile.frag 2014-10-27 08:12:57.402883790 +0200
-@@ -11,8 +11,9 @@
- @$(INSTALL) -m 0755 $(SAPI_FPM_PATH) $(INSTALL_ROOT)$(sbindir)/$(program_prefix)php-fpm$(program_suffix)$(EXEEXT)
-
- @echo "Installing PHP FPM config: $(INSTALL_ROOT)$(sysconfdir)/" && \
-- $(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir) || :
-+ $(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/fpm.d || :
- @$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf.default || :
-+ @$(INSTALL_DATA) sapi/fpm/php-fpm.conf-d $(INSTALL_ROOT)$(sysconfdir)/fpm.d/www.conf.default || :
-
- @echo "Installing PHP FPM man page: $(INSTALL_ROOT)$(mandir)/man8/"
- @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man8
--- php-7.0.6/ext/intl/config.m4~ 2016-04-28 21:13:06.000000000 +0300
+++ php-7.0.6/ext/intl/config.m4 2016-05-16 18:49:53.909531704 +0300
@@ -6,6 +6,7 @@
- [ --enable-intl Enable internationalization support])
+ [Enable internationalization support])])
if test "$PHP_INTL" != "no"; then
+ dnl -lstdc++ not needed, will be inherited from icu
PHP_SETUP_ICU(INTL_SHARED_LIBADD)
PHP_SUBST(INTL_SHARED_LIBADD)
- PHP_REQUIRE_CXX()
+ INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
--- php-7.0.0beta1/ext/dba/dba.c.libdb 2015-07-08 02:24:59.119020904 +0200
+++ php-7.0.0beta1/ext/dba/dba.c 2015-07-08 07:01:43.158767655 +0200
@@ -52,6 +52,10 @@
- #include "php_qdbm.h"
#include "php_tcadb.h"
+ #include "php_lmdb.h"
+#ifdef DB4_INCLUDE_FILE
+#include DB4_INCLUDE_FILE
-#if !defined(MYSQL_USE_MYSQLND)
+#if 0 && !defined(MYSQL_USE_MYSQLND)
if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
- php_error_docref(NULL TSRMLS_CC, E_NOTICE,
+ php_error_docref(NULL, E_WARNING,
"Headers and client library minor version mismatch. Headers:%d Library:%ld",
--- /dev/null
+--- php-5.3.29/ext/openssl/openssl.c~ 2021-10-23 19:18:21.000000000 +0200
++++ php-5.3.29/ext/openssl/openssl.c 2021-10-23 19:19:01.483125024 +0200
+@@ -1044,7 +1044,9 @@ PHP_MINIT_FUNCTION(openssl)
+ REGISTER_LONG_CONSTANT("PKCS7_NOSIGS", PKCS7_NOSIGS, CONST_CS|CONST_PERSISTENT);
+
+ REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_PADDING", RSA_PKCS1_PADDING, CONST_CS|CONST_PERSISTENT);
++#ifdef RSA_SSLV23_PADDING
+ REGISTER_LONG_CONSTANT("OPENSSL_SSLV23_PADDING", RSA_SSLV23_PADDING, CONST_CS|CONST_PERSISTENT);
++#endif
+ REGISTER_LONG_CONSTANT("OPENSSL_NO_PADDING", RSA_NO_PADDING, CONST_CS|CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_OAEP_PADDING", RSA_PKCS1_OAEP_PADDING, CONST_CS|CONST_PERSISTENT);
+
+diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c
+index 5564bf6f08..423f696c76 100644
+--- a/ext/openssl/xp_ssl.c
++++ b/ext/openssl/xp_ssl.c
+@@ -1286,6 +1286,10 @@ static int php_openssl_set_server_specific_opts(php_stream *stream, SSL_CTX *ctx
+ zval *zv;
+ long ssl_ctx_options = SSL_CTX_get_options(ctx);
+
++#ifdef SSL_OP_IGNORE_UNEXPECTED_EOF
++ ssl_ctx_options |= SSL_OP_IGNORE_UNEXPECTED_EOF;
++#endif
++
+ #if defined(HAVE_ECDH) && PHP_OPENSSL_API_VERSION < 0x10100
+ if (php_openssl_set_server_ecdh_curve(stream, ctx) == FAILURE) {
+ return FAILURE;
+@@ -1628,6 +1632,10 @@ int php_openssl_setup_crypto(php_stream *stream,
+ ssl_ctx_options = SSL_OP_ALL;
+ #endif
+
++#ifdef SSL_OP_IGNORE_UNEXPECTED_EOF
++ ssl_ctx_options |= SSL_OP_IGNORE_UNEXPECTED_EOF;
++#endif
++
+ if (sslsock->ctx == NULL) {
+ php_error_docref(NULL, E_WARNING, "SSL context creation failure");
+ return FAILURE;
--- php-5.2.4/build/Makefile.global~ 2007-08-31 19:35:54.000000000 +0300
+++ php-5.2.4/build/Makefile.global 2007-08-31 19:40:18.287528480 +0300
@@ -21,6 +21,12 @@
- $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
-@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1
+$(LIBTOOL_SAPI): libphp_common.la $(PHP_SAPI_OBJS)
--- php-5.2.0/scripts/php-config.in 2006-12-14 01:11:33.348180526 +0200
+++ php-5.2.4/scripts/php-config.in 2007-08-31 19:43:04.061307670 +0300
@@ -2,6 +2,7 @@
-
+ SED="@SED@"
prefix="@prefix@"
- exec_prefix="@exec_prefix@"
+ datarootdir="@datarootdir@"
+sysconfdir='@sysconfdir@'
+ exec_prefix="@exec_prefix@"
version="@PHP_VERSION@"
- version_id="@PHP_VERSION_ID@"
- includedir="@includedir@/php"
+ vernum="@PHP_VERSION_ID@"
@@ -53,6 +54,8 @@
echo $extension_dir;;
--include-dir)
--extension-dir [$extension_dir]
+ --sysconfdir [$sysconfdir]
--include-dir [$include_dir]
+ --man-dir [$man_dir]
--php-binary [$php_binary]
- --php-sapis [$php_sapis]
--- php-7.1.1/ext/dba/config.m4.orig 2017-01-17 21:44:40.000000000 +0100
+++ php-7.1.1/ext/dba/config.m4 2017-01-27 22:08:45.385645468 +0100
@@ -245,7 +245,7 @@
- ],[
+ ]])],[
AC_EGREP_CPP(yes,[
#include "$THIS_INCLUDE"
-#if DB_VERSION_MAJOR == $1 || ($1 == 4 && DB_VERSION_MAJOR == 5)
+ LIBS=$old_LIBS
lib_found=1
])
- ])
+ ],[])
+++ /dev/null
---- php-7.0/sapi/cgi/cgi_main.c~ 2015-05-21 23:12:23.000000000 +0300
-+++ php-7.0/sapi/cgi/cgi_main.c 2015-05-21 23:13:24.947976867 +0300
-@@ -701,12 +701,8 @@
- request = (fcgi_request*) SG(server_context);
- if (request) {
- int ret, len = (int)strlen(message);
-- char *buf = malloc(len+2);
-
-- memcpy(buf, message, len);
-- memcpy(buf + len, "\n", sizeof("\n"));
-- ret = fcgi_write(request, FCGI_STDERR, buf, (int)(len + 1));
-- free(buf);
-+ ret = fcgi_write(request, FCGI_STDERR, message, len);
- if (ret < 0) {
- php_handle_aborted_connection();
- }
+/* Socket we are listening on incoming connections */
+static int fcgi_fd = 0;
+
- /**
- * Process group
- */
+ #ifndef PHP_WIN32
+ /* Did parent received exit signals SIG_TERM/SIG_INT/SIG_QUIT */
+ static int exit_signal = 0;
@@ -1221,6 +1224,21 @@
- exit(0);
}
+ #endif
+/**
+ * Graceful shutdown. Close listening sockets.
char *bindpath = NULL;
- int fcgi_fd = 0;
fcgi_request *request = NULL;
+ int warmup_repeats = 0;
int repeats = 1;
- int benchmark = 0;
@@ -2080,9 +2080,14 @@
parent = 0;
--- php-5.6.5/sapi/fpm/www.conf.in~ 2015-02-04 19:26:16.000000000 +0200
+++ php-5.6.5/sapi/fpm/www.conf.in 2015-02-04 19:27:25.275218535 +0200
@@ -32,7 +32,7 @@
- ; specific port;
+ ; (IPv6 and IPv4-mapped) 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
+listen = /var/run/php/@processname@.sock
; Set listen(2) backlog.
- ; Default Value: 65535 (-1 on FreeBSD and OpenBSD)
+ ; Default Value: 511 (-1 on FreeBSD and OpenBSD)
@@ -46,9 +46,9 @@
- ; BSD-derived systems allow connections regardless of permissions.
+ ; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
; mode is set to 0660
-;listen.owner = @php_fpm_user@
+ $(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf; \
+ $(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/fpm.d/www.conf; \
fi
-
+
@echo "Installing PHP FPM man page: $(INSTALL_ROOT)$(mandir)/man8/"
--- php-7.3.0beta3/build/php.m4~ 2018-08-28 13:26:36.000000000 +0300
+++ php-7.3.0beta3/build/php.m4 2018-09-05 18:56:49.744106256 +0300
@@ -1829,18 +1829,18 @@
- dnl Wrapper for AC_CHECK_LIB
+ dnl Wrapper for AC_CHECK_LIB.
dnl
AC_DEFUN([PHP_CHECK_LIBRARY], [
- save_old_LDFLAGS=$LDFLAGS
--- /dev/null
+; obey default context options
+; https://bugs.php.net/bug.php?id=68344
+diff -urbB php-5.6.12/ext/mysqlnd/mysqlnd_net.c php-5.6.12/ext/mysqlnd/mysqlnd_net.c
+--- php-5.6.12/ext/mysqlnd/mysqlnd_net.c 2015-08-06 09:55:57.000000000 +0200
++++ php-5.6.12/ext/mysqlnd/mysqlnd_net.c 2015-08-10 13:25:30.187912101 +0200
+@@ -29,6 +29,7 @@
+ #include "mysqlnd_ext_plugin.h"
+ #include "php_network.h"
+ #include "zend_ini.h"
++#include "ext/standard/file.h"
+ #ifdef MYSQLND_COMPRESSION_ENABLED
+ #include <zlib.h>
+ #endif
+@@ -868,6 +868,21 @@ MYSQLND_METHOD(mysqlnd_net, enable_ssl)(
+ DBG_RETURN(FAIL);
+ }
+
++ if (FG(default_context)) {
++ zval **tmpzval = NULL;
++ int i = 0;
++ /* copy values from default stream settings */
++ char *opts[] = { "allow_self_signed", "cafile", "capath", "ciphers", "CN_match",
++ "disable_compression", "local_cert", "local_pk", "no_ticket", "passphrase",
++ "peer_fingerprint", "peer_name", "SNI_enabled", "SNI_server_certs", "SNI_server_name",
++ "verify_depth", "verify_peer", "verify_peer_name", NULL };
++ while (opts[i]) {
++ if (php_stream_context_get_option(FG(default_context), "ssl", opts[i], &tmpzval) == SUCCESS)
++ php_stream_context_set_option(context, "ssl", opts[i], *tmpzval);
++ i++;
++ }
++ }
++
+ if (net->data->options.ssl_key) {
+ zval key_zval;
+ ZVAL_STRING(&key_zval, net->data->options.ssl_key, 0);
+
+++ /dev/null
---- php-7.0.1/ext/mysqli/mysqli.c 2015-12-16 10:42:04.000000000 +0000
-+++ php-7.0.1/ext/mysqli/mysqli.c 2015-12-28 15:16:20.868443158 +0000
-@@ -522,6 +522,7 @@ PHP_INI_BEGIN()
- #else
- STD_PHP_INI_ENTRY("mysqli.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysqli_globals, mysqli_globals)
- #endif
-+ STD_PHP_INI_ENTRY("mysqli.connect_charset", NULL, PHP_INI_ALL, OnUpdateString, connect_charset, zend_mysqli_globals, mysqli_globals)
- STD_PHP_INI_BOOLEAN("mysqli.reconnect", "0", PHP_INI_SYSTEM, OnUpdateLong, reconnect, zend_mysqli_globals, mysqli_globals)
- STD_PHP_INI_BOOLEAN("mysqli.allow_local_infile", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_local_infile, zend_mysqli_globals, mysqli_globals)
- PHP_INI_END()
-@@ -545,6 +546,7 @@ static PHP_GINIT_FUNCTION(mysqli)
- mysqli_globals->default_user = NULL;
- mysqli_globals->default_pw = NULL;
- mysqli_globals->default_socket = NULL;
-+ mysqli_globals->connect_charset = NULL;
- mysqli_globals->reconnect = 0;
- mysqli_globals->report_mode = 0;
- mysqli_globals->report_ht = 0;
---- php-7.0.1/ext/mysqli/mysqli_nonapi.c 2015-12-16 10:42:03.000000000 +0000
-+++ php-7.0.1/ext/mysqli/mysqli_nonapi.c 2015-12-28 15:23:36.769443158 +0000
-@@ -56,7 +56,7 @@ void mysqli_common_connect(INTERNAL_FUNC
- zval *object = getThis();
- char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL,
- *ssl_key = NULL, *ssl_cert = NULL, *ssl_ca = NULL, *ssl_capath = NULL,
-- *ssl_cipher = NULL;
-+ *ssl_cipher = NULL, *connect_charset = NULL;
- size_t hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0, socket_len = 0;
- zend_bool persistent = FALSE, ssl = FALSE;
- zend_long port = 0, flags = 0;
-@@ -257,6 +257,12 @@ void mysqli_common_connect(INTERNAL_FUNC
- }
- #endif
-
-+ connect_charset = MyG(connect_charset);
-+
-+ if (connect_charset != NULL) {
-+ mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, connect_charset);
-+ }
-+
- #if !defined(MYSQLI_USE_MYSQLND)
- /* BC for prior to bug fix #53425 */
- flags |= CLIENT_MULTI_RESULTS;
---- php-7.0.1/ext/mysqli/php_mysqli_structs.h 2015-12-28 15:16:20.870443158 +0000
-+++ php-7.0.1/ext/mysqli/php_mysqli_structs.h 2015-12-28 15:23:04.136443158 +0000
-@@ -330,6 +330,7 @@ ZEND_BEGIN_MODULE_GLOBALS(mysqli)
- char *default_user;
- char *default_socket;
- char *default_pw;
-+ char *connect_charset;
- zend_long reconnect;
- zend_long allow_local_infile;
- zend_long strict;
--- /dev/null
+checking Oracle Instant Client SDK header directory... configure: error: Oracle Instant Client SDK header files not found
+
+--- php-5.3.3/ext/oci8/config.m4.orig 2010-06-25 23:18:09.000000000 +0200
++++ php-5.3.3/ext/oci8/config.m4 2010-09-10 19:37:23.484315002 +0200
+@@ -304,6 +304,9 @@
+
+ AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
+
++ dnl Header directory for Instant Client SDK PLD RPM install
++ OCISDKPLDINC=$PHP_OCI8_INSTANT_CLIENT/../include/oracle/client
++
+ dnl Header directory for Instant Client SDK RPM install
+ OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/lib/oracle/\(.*\)/client\('${PHP_OCI8_IC_LIBDIR_SUFFIX}'\)*/lib[/]*$!/usr/include/oracle/\1/client\2!'`
+
+@@ -313,7 +316,11 @@
+ dnl Header directory for manual installation
+ OCISDKMANINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!\(.*\)/lib[/]*$!\1/include!'`
+
+- if test -f "$OCISDKRPMINC/oci.h"; then
++ if test -f "$OCISDKPLDINC/oci.h"; then
++ AC_MSG_RESULT($OCISDKPLDINC)
++ PHP_ADD_INCLUDE($OCISDKPLDINC)
++ OCI8INCDIR=$OCISDKPLDINC
++ elif test -f "$OCISDKRPMINC/oci.h"; then
+ AC_MSG_RESULT($OCISDKRPMINC)
+ PHP_ADD_INCLUDE($OCISDKRPMINC)
+ OCI8INCDIR=$OCISDKRPMINC
+--- php-7.2.0RC1/ext/pdo_oci/config.m4~ 2017-09-11 14:32:13.000000000 +0300
++++ php-7.2.0RC1/ext/pdo_oci/config.m4 2017-09-11 14:45:25.019346828 +0300
+@@ -113,6 +113,9 @@
+ elif test -f "$OCISDKZIPINC/oci.h" ; then
+ PHP_ADD_INCLUDE($OCISDKZIPINC)
+ AC_MSG_RESULT($OCISDKZIPINC)
++ elif test -f $PDO_OCI_LIB_DIR/../include/oracle/client/oci.h ; then
++ PHP_ADD_INCLUDE($PDO_OCI_LIB_DIR/../include/oracle/client)
++ AC_MSG_RESULT($PDO_OCI_LIB_DIR/../include/oracle/client)
+ else
+ AC_MSG_ERROR([I'm too dumb to figure out where the include dir is in your Instant Client install])
+ fi
+++ /dev/null
-This is damn ugly patch if you need to update it, see PHP_5_2 branch version to
-understand what this patch is supposed to do as in 5.3 the ini section is
-enabled only if mysqlnd driver is enabled which makes the contexts really
-small.
-
---- php-5.3.1/ext/pdo_mysql/mysql_driver.c~ 2010-02-20 01:08:04.000000000 +0200
-+++ php-5.3.1/ext/pdo_mysql/mysql_driver.c 2010-02-20 01:08:52.982186037 +0200
-@@ -436,6 +436,7 @@
- pdo_mysql_db_handle *H;
- int i, ret = 0;
- char *host = NULL, *unix_socket = NULL;
-+ char *connect_charset = NULL;
- unsigned int port = 3306;
- char *dbname;
- struct pdo_data_src_parser vars[] = {
-@@ -731,6 +731,12 @@
- password_len = strlen(dbh->password);
- }
-
-+ connect_charset = PDO_MYSQL_G(connect_charset);
-+
-+ if (connect_charset != NULL) {
-+ mysql_options(H->server, MYSQL_SET_CHARSET_NAME, connect_charset);
-+ }
-+
- if (mysqlnd_connect(H->server, host, dbh->username, dbh->password, password_len, dbname, dbname_len,
- port, unix_socket, connect_opts, PDO_MYSQL_G(mysqlnd_thd_zval_cache) TSRMLS_CC) == NULL) {
- #else
---- php-5.3.3/ext/pdo_mysql/pdo_mysql.c~ 2010-07-24 19:23:14.000000000 +0300
-+++ php-5.3.3/ext/pdo_mysql/pdo_mysql.c 2010-07-24 19:24:48.363581841 +0300
-@@ -56,6 +56,7 @@
- #if PDO_DBG_ENABLED
- STD_PHP_INI_ENTRY("pdo_mysql.debug", NULL, PHP_INI_SYSTEM, OnUpdateString, debug, zend_pdo_mysql_globals, pdo_mysql_globals)
- #endif
-+ STD_PHP_INI_ENTRY("pdo_mysql.connect_charset", NULL, PHP_INI_ALL, OnUpdateString, connect_charset, zend_pdo_mysql_globals, pdo_mysql_globals)
- PHP_INI_END()
- /* }}} */
-
-@@ -89,9 +90,7 @@
- static PHP_MSHUTDOWN_FUNCTION(pdo_mysql)
- {
- php_pdo_unregister_driver(&pdo_mysql_driver);
--#if PDO_USE_MYSQLND
- UNREGISTER_INI_ENTRIES();
--#endif
-
- return SUCCESS;
- }
-@@ -161,6 +161,7 @@
- pdo_mysql_globals->debug = NULL; /* The actual string */
- pdo_mysql_globals->dbg = NULL; /* The DBG object*/
- #endif
-+ pdo_mysql_globals->connect_charset = NULL;
- }
- /* }}} */
-
---- php-5.3.2RC3/ext/pdo_mysql/php_pdo_mysql_int.h~ 2010-02-04 11:37:38.000000000 +0200
-+++ php-5.3.2RC3/ext/pdo_mysql/php_pdo_mysql_int.h 2010-02-26 19:11:47.484055898 +0200
-@@ -69,6 +69,7 @@
- char *debug; /* The actual string */
- MYSQLND_DEBUG *dbg; /* The DBG object */
- #endif
-+ char *connect_charset;
- #if defined(PHP_WIN32) && !PDO_DBG_ENABLED
- /* dummy member so we get at least one member in the struct
- * and avoids build errors.
---- php-5.4.0alpha2/sapi/cli/config.m4~ 2011-08-05 12:59:18.000000000 +0300
-+++ php-5.4.0alpha2/sapi/cli/config.m4 2011-08-05 13:23:40.356628679 +0300
-@@ -31,7 +31,7 @@
- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp5lib -o \$(SAPI_CLI_PATH)"
+--- php-7.4.0RC2/sapi/cli/config.m4~ 2019-09-23 11:55:05.000000000 +0300
++++ php-7.4.0RC2/sapi/cli/config.m4 2019-09-23 11:56:17.340191296 +0300
+@@ -42,7 +42,7 @@
+ BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
;;
*)
- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
--- php-7.4.0RC3/build/Makefile.global~ 2019-10-04 16:11:24.000000000 +0300
+++ php-7.4.0RC3/build/Makefile.global 2019-10-09 15:21:11.198544363 +0300
@@ -13,8 +13,12 @@
-
- build-modules: $(PHP_MODULES)
+
+ build-binaries: $(PHP_BINARIES)
-libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
--- php-7.4.0RC2/sapi/cgi/config9.m4~ 2019-09-17 19:37:54.000000000 +0300
+++ php-7.4.0RC2/sapi/cgi/config9.m4 2019-09-20 13:43:03.654012130 +0300
@@ -55,7 +55,7 @@
- BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
+ BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
;;
*)
- BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
--- php-7.4.0RC2/sapi/cli/config.m4~ 2019-09-17 19:37:55.000000000 +0300
+++ php-7.4.0RC2/sapi/cli/config.m4 2019-09-20 13:44:29.124988912 +0300
@@ -42,7 +42,7 @@
- BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
+ BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
;;
*)
- BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
--- php-7.4.0RC2/sapi/fpm/config.m4~ 2019-09-17 19:37:55.000000000 +0300
+++ php-7.4.0RC2/sapi/fpm/config.m4 2019-09-20 13:56:34.351592384 +0300
@@ -660,7 +660,7 @@
- BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)"
+ BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)"
;;
*)
- BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)"
--- php-5.4.0alpha2/build/php.m4 2011-08-07 21:13:21.581133944 +0300
+++ php-5.4.0alpha2/build/php.m4 2011-08-07 21:10:21.766717150 +0300
@@ -2607,7 +2609,14 @@
- dnl version for apache1/2.
+ dnl This macro is used to get a comparable version for Apache.
dnl
AC_DEFUN([PHP_AP_EXTRACT_VERSION],[
- ac_output=`$1 -v 2>&1 | grep version | $SED -e 's/Oracle-HTTP-//'`
---- php-7.4.7/build/php.m4.orig 2020-06-26 16:43:50.784451000 +0200
-+++ php-7.4.7/build/php.m4 2020-06-26 16:45:13.716451000 +0200
-@@ -1732,8 +1732,10 @@
+--- php-7.4.12/build/php.m4~ 2020-11-09 14:38:20.000000000 +0200
++++ php-7.4.12/build/php.m4 2020-11-09 14:39:53.522036584 +0200
+@@ -1731,8 +1731,10 @@
dnl Search for the sendmail binary.
dnl
AC_DEFUN([PHP_PROG_SENDMAIL], [
--- php-7.0/ext/standard/image.c~ 2015-05-21 23:10:45.000000000 +0300
+++ php-7.0/ext/standard/image.c 2015-05-21 23:11:22.424948534 +0300
@@ -31,7 +31,7 @@
+ #include "win32/php_stdint.h"
#endif
- #include "php_image.h"
-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+#if HAVE_ZLIB
-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+#if HAVE_ZLIB
REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT);
- #endif
+ #endif
REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT);
@@ -184,7 +184,7 @@
}
+#if HAVE_ZLIB
/* {{{ php_handle_swc
*/
- static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC)
+ static struct gfxinfo *php_handle_swc(php_stream * stream)
@@ -1321,7 +1321,7 @@
result = php_handle_swf(stream);
break;
%bcond_without phpdbg # disable phpdbg SAPI
# - Extensions
%bcond_without bcmath # without bcmath extension module
-%bcond_without bz2 # without bz2 extension module
+%bcond_without bzip2 # without bz2 extension module
%bcond_without calendar # without calendar extension module
%bcond_without ctype # without ctype extension module
%bcond_without curl # without CURL extension module
%bcond_without gettext # without gettext extension module
%bcond_without gmp # without gmp extension module
%bcond_without iconv # without iconv extension module
-%bcond_without imap # without IMAP extension module
+%bcond_with imap # without IMAP extension module
%bcond_without intl # without Intl extension module
%bcond_without json # without json extension module
%bcond_without ldap # without LDAP extension module
%bcond_without pdo_dblib # without PDO dblib extension module
%bcond_without pdo_firebird # without PDO Firebird extension module
%bcond_without pdo_mysql # without PDO MySQL extension module
-%bcond_without pdo_oci # without PDO oci extension module
+%bcond_without pdo_oci # without PDO oci extension module
%bcond_without pdo_odbc # without PDO ODBC extension module
%bcond_without pdo_pgsql # without PDO pgsql extension module
%bcond_without pdo_sqlite # without PDO SQLite extension module
%bcond_without sqlite3 # without SQLite3 extension module
%bcond_without tidy # without Tidy extension module
%bcond_without xmlrpc # without XML-RPC extension module
-%bcond_without xsl # without xsl extension module
-%bcond_without zip # without zip extension module
+%bcond_without xsl # without xsl extension module
+%bcond_without zip # without zip extension module
# extensions options
%bcond_without argon2 # argon2 password hashing
%bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package
Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
Version: 7.4.28
-Release: 1
+Release: 2
Epoch: 4
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
License: PHP 3.01 and Zend and BSD
Group: Libraries
-Source0: http://php.net/distributions/%{orgname}-%{version}.tar.xz
+Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz
# Source0-md5: ca4f40f41d028465bc810c007c3ed935
Source1: opcache.ini
Source2: %{orgname}-mod_php.conf
Patch25: %{orgname}-stupidapache_version.patch
Patch27: %{orgname}-config-dir.patch
Patch29: %{orgname}-fcgi-graceful.patch
-Patch31: %{orgname}-fcgi-error_log-no-newlines.patch
-Patch37: %{orgname}-mysqli-charsetphpini.patch
-Patch38: %{orgname}-pdo_mysql-charsetphpini.patch
Patch39: %{orgname}-use-prog_sendmail.patch
Patch41: %{orgname}-fpm-config.patch
Patch43: %{orgname}-silent-session-cleanup.patch
Patch50: extension-shared-optional-dep.patch
Patch53: fix-test-run.patch
Patch59: %{orgname}-systzdata.patch
+Patch60: %{orgname}-oracle-instantclient.patch
Patch66: php-db.patch
Patch67: mysql-lib-ver-mismatch.patch
-Patch69: fpm-conf-split.patch
+# https://bugs.php.net/bug.php?id=68344
+Patch68: php-mysql-ssl-context.patch
Patch71: libdb-info.patch
+Patch72: openssl.patch
URL: http://php.net/
-%{?with_firebird:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
+%{?with_pdo_firebird:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
%{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0}
BuildRequires: autoconf >= 2.59
BuildRequires: automake >= 1.4d
BuildRequires: db-devel >= 4.0
BuildRequires: elfutils-devel
%{?with_enchant:BuildRequires: enchant-devel >= 1.1.3}
-%{?with_kerberos5:BuildRequires: heimdal-devel}
-%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
-%{?with_ffi:BuildRequires: libffi-devel}
-%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8}
%if %{with pdo_dblib}
BuildRequires: freetds-devel >= 0.82
%endif
%endif
BuildRequires: gdbm-devel
BuildRequires: gmp-devel >= 4.2
+%{?with_kerberos5:BuildRequires: heimdal-devel}
%{?with_imap:BuildRequires: imap-devel >= 1:2007e-2}
%{?with_gcov:BuildRequires: lcov}
%{?with_fpm:BuildRequires: libapparmor-devel}
+%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
+%{?with_ffi:BuildRequires: libffi-devel}
%{?with_intl:BuildRequires: libicu-devel >= 50.1}
BuildRequires: libjpeg-devel
BuildRequires: libltdl-devel >= 1.4
BuildRequires: libpng-devel >= 1.0.8
+%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8}
%{?with_intl:BuildRequires: libstdc++-devel}
BuildRequires: libtool >= 2:2.4.6
%{?with_webp:BuildRequires: libwebp-devel}
%{!?with_mysqli:BuildRequires: mysql-devel >= 4.1.13}
%{!?with_pdo_mysql:BuildRequires: mysql-devel}
%{?with_snmp:BuildRequires: net-snmp-devel >= 5.3}
-BuildRequires: oniguruma-devel
+BuildRequires: oniguruma-devel
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%if %{with openssl} || %{with ldap}
BuildRequires: openssl-devel >= 1.0.1
%define php_sysconfdir /etc/%{name}
%define php_extensiondir %{_libdir}/php/%{name}
-%define php_datadir /usr/share/php/%{name}
+%define php_data_dir /usr/share/php/%{name}
%define _sysconfdir %{php_sysconfdir}
# must be in sync with source. extra check ensuring that it is so is done in %%build
Moduł PHP dodający obsługę znaczników EXIF w plikach obrazków.
%package ffi
-Summary: %{modname} - Foreign Function Interface
+Summary: Foreign Function Interface module for PHP
+Summary(pl.UTF-8): Moduł Foreign Function Interface (interfejsu do obcych języków) dla PHP
Group: Libraries
URL: https://www.php.net/manual/en/book.ffi.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
FFI is a multi-platform extension for PHP that allows you to bind to
functions from arbitrary shared libraries and call them.
+%description ffi -l pl.UTF-8
+FFI to wieloplatformowe rozszerzenie dla PHP pozwalające dowiązywać
+funkcje z dowolnych bibliotek współdzielonych i wywoływać je.
+
%package fileinfo
Summary: libmagic bindings
Summary(pl.UTF-8): Wiązania do libmagic
%package sodium
Summary: Wrapper for the Sodium cryptographic library
+Summary(pl.UTF-8): Interfejs do biblioteki kryptograficznej Sodium
Group: Libraries
URL: https://paragonie.com/book/pecl-libsodium
Requires: %{name}-common = %{epoch}:%{version}-%{release}
%description sodium
A simple, low-level PHP extension for libsodium.
+%description sodium -l pl.UTF-8
+Proste, niskopoziomowe rozszerzenie PHP wykorzystując libsodium.
+
%package sqlite3
Summary: SQLite3 extension module for PHP
Summary(pl.UTF-8): Moduł SQLite3 dla PHP
%patch0 -p1
%patch1 -p1
%patch3 -p1
+%patch4 -p1
+
%patch7 -p1
%patch9 -p1
%patch10 -p1
%patch25 -p1
%patch27 -p1
%patch29 -p1
-%patch31 -p1
-%patch37 -p1
-%patch38 -p1
%patch39 -p1
-%if %{with fpm}
%patch41 -p1
-%endif
%patch43 -p1
%patch44 -p1
%patch50 -p1
+
%patch53 -p1
-%undos ext/spl/tests/SplFileInfo_getInode_basic.phpt
%patch59 -p1 -b .systzdata
+%if %{with instantclient}
+%patch60 -p1 -b .instantclient
+%endif
%patch66 -p1
%patch67 -p1
+#%patch68 -p1 DROP or update to 7.0 APIs
%patch71 -p1
+%patch72 -p1
+
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \
+ ext/ext_skel.php \
+ run-tests.php
%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
%{__rm} -r ext/com_dotnet
# remove all bundled libraries not to link with them accidentally
+#%{__rm} -r ext/bcmath/libbcmath
+#%{__rm} -r ext/date/lib
+#%{__rm} -r ext/fileinfo/libmagic
+#%{__rm} -r ext/dba/libcdb
+#%{__rm} -r ext/dba/libflatfile
+#%{__rm} -r ext/dba/libinifile
+#%{__rm} -r ext/gd/libgd
+#%{__rm} -r ext/mbstring/libmbfl
+#%{__rm} -r ext/pcre/pcre2lib
+#%{__rm} -r ext/soap/interop
%{__rm} -r ext/xmlrpc/libxmlrpc
+#%{__rm} -r ext/zip/lib
%{__rm} ext/date/lib/timezonedb.h
cp -pf Zend/LICENSE{,.Zend}
sh -xe %{_sourcedir}/skip-tests.sh
%build
+get_version() {
+ local define="$1" filename="$2"
+ awk -vdefine="$define" '/#define/ && $2 == define {print $3}' "$filename" | xargs
+}
+
API=$(awk '/#define PHP_API_VERSION/{print $3}' main/php.h)
if [ $API != %{php_api_version} ]; then
echo "Set %%define php_api_version to $API and re-run."
: Update the fileinfover macro and rebuild.
exit 1
fi
-ver=$(awk '/#define PHP_PHAR_VERSION/ {print $3}' ext/phar/php_phar.h | xargs)
+ver=$(get_version PHP_PHAR_VERSION ext/phar/php_phar.h)
if test "$ver" != "PHP_VERSION"; then
: Error: Upstream PHAR version is now ${ver}, expecting %{pharver}.
: Update the pharver macro and rebuild.
: Update the zipver macro and rebuild.
exit 1
fi
-ver=$(awk '/#define PHP_JSON_VERSION/ {print $3}' ext/json/php_json.h | xargs)
+ver=$(get_version PHP_JSON_VERSION ext/json/php_json.h)
if test "$ver" != "PHP_VERSION"; then
: Error: Upstream JSON version is now ${ver}, expecting %{jsonver}.
: Update the jsonver macro and rebuild.
exit 1
fi
-ver=$(awk '/#define PHPDBG_VERSION/ {print $3}' sapi/phpdbg/phpdbg.h | xargs)
+ver=$(get_version PHPDBG_VERSION sapi/phpdbg/phpdbg.h)
if test "$ver" != "PHP_VERSION"; then
: Error: Upstream phpdbg version is now ${ver}, expecting %{phpdbgver}.
: Update the phpdbgver macro and rebuild.
exit 1
fi
-ver=$(awk '/#define PHP_BZ2_VERSION/ {print $3}' ext/bz2/php_bz2.h | xargs)
+ver=$(get_version PHP_BZ2_VERSION ext/bz2/php_bz2.h)
if test "$ver" != "PHP_VERSION"; then
: Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}.
: Update the bz2ver macro and rebuild.
if test "$ver" != "PHP_VERSION"; then
exit 1
fi
-ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs)
+ver=$(get_version PHP_HASH_VERSION ext/hash/php_hash.h)
if test "$ver" != "PHP_VERSION"; then
: Error: Upstream HASH version is now ${ver}, expecting %{hashver}.
: Update the hashver macro and rebuild.
exit 1
fi
-ver=$(awk '/#define PHP_INTL_VERSION/ {print $3}' ext/intl/php_intl.h | xargs)
+ver=$(get_version PHP_INTL_VERSION ext/intl/php_intl.h)
if test "$ver" != "PHP_VERSION"; then
: Error: Upstream Intl version is now ${ver}, expecting %{intlver}.
: Update the intlver macro and rebuild.
sapi_args=''
case $sapi in
cgi-fcgi)
- sapi_args='--disable-cli'
+ sapi_args='--enable-cgi'
;;
cli)
- sapi_args='--disable-cgi %{?with_gcov:--enable-gcov}'
+ sapi_args='--enable-cli %{?with_gcov:--enable-gcov}'
;;
fpm)
- sapi_args='--disable-cli --disable-cgi --enable-fpm'
+ sapi_args='--enable-fpm'
;;
embed)
- sapi_args='--disable-cli --disable-cgi --enable-embed'
+ sapi_args='--enable-embed'
;;
apxs2)
ver=$(rpm -q --qf '%{V}' apache-devel)
- sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver"
+ sapi_args="--with-apxs2=%{apxs2} --with-apache-version=$ver"
;;
litespeed)
- sapi_args='--disable-cli --disable-cgi --enable-litespeed'
+ sapi_args='--enable-litespeed'
;;
phpdbg)
- sapi_args='--disable-cli --disable-cgi --enable-phpdbg %{?debug:--enable-phpdbg-debug}'
+ sapi_args='--enable-phpdbg %{?debug:--enable-phpdbg-debug}'
;;
esac
%configure \
EXTRA_LDFLAGS="%{rpmldflags}" \
--program-suffix=%{php_suffix} \
+ --disable-cgi \
+ --disable-cli \
+ --disable-phpdbg \
$sapi_args \
%if "%{!?configure_cache:0}%{?configure_cache}" == "0"
--cache-file=config.cache \
%endif
- --datadir=%{php_datadir} \
+ --datadir=%{php_data_dir} \
--with-libdir=%{_lib} \
--with-config-file-path=%{_sysconfdir} \
--with-config-file-scan-dir=%{_sysconfdir}/conf.d \
--%{!?with_debug:dis}%{?with_debug:en}able-debug \
%{?with_zts:--enable-maintainer-zts} \
--enable-inline-optimization \
+ --enable-option-checking=fatal \
%{__enable_disable bcmath bcmath shared} \
%{__enable_disable calendar calendar shared} \
%{__enable_disable ctype ctype shared} \
--enable-tokenizer=shared \
--enable-xml=shared \
--enable-xmlreader=shared \
- %{__with_without bz2 bz2 shared} \
+ %{__with_without bzip2 bz2 shared} \
%{__with_without curl curl shared} \
--with-db4 \
%{__with_without iconv iconv shared} \
cp -p ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/ext/mbstring
# tests
-install -d $RPM_BUILD_ROOT%{php_datadir}/tests/php
-install -p run-tests.php $RPM_BUILD_ROOT%{php_datadir}/tests/php/run-tests.php
-cp -a tests/* $RPM_BUILD_ROOT%{php_datadir}/tests/php
+install -d $RPM_BUILD_ROOT%{php_data_dir}/tests/php
+install -p run-tests.php $RPM_BUILD_ROOT%{php_data_dir}/tests/php/run-tests.php
+cp -a tests/* $RPM_BUILD_ROOT%{php_data_dir}/tests/php
# fix install paths, avoid evil rpaths
sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}.la
# restart webserver at the end of transaction
[ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart
-%triggerpostun common -- php-common < 4:5.3.28-7
+%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2
+# switch to browscap package if the ini file has original value
+%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini
+# disable browscap, if optional package not present
+if [ ! -e /usr/share/browscap/php_browscap.ini ]; then
+ %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini
+fi
+
# migrate configs /etc/php/conf.d -> /etc/phpXY/conf.d/
# do config migration in php-common trigger, as the trigger is ran after all packages are upgraded
# this way we can stick to one trigger, instead of attaching one for each (sub)package!
' $nf
done
-%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2
-# switch to browscap package if the ini file has original value
-%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini
-# disable browscap, if optional package not present
-if [ ! -e /usr/share/browscap/php_browscap.ini ]; then
- %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini
-fi
-
%triggerpostun -n apache-mod_%{name} -- apache-mod_%{name} < 4:7.0.0-2.RC4
sed -i -e 's#modules/libphp[57].so#modules/mod_php.so#g' /etc/httpd/conf.d/*_mod_php.conf
%dir %{_sysconfdir}/conf.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini
%attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}-*.so
-%dir %{php_datadir}
+%dir %{php_data_dir}
%dir %{php_extensiondir}
%doc ext/session/mod_files.sh
%attr(755,root,root) %{php_extensiondir}/bcmath.so
%endif
-%if %{with bz2}
+%if %{with bzip2}
%files bz2
%defattr(644,root,root,755)
%doc ext/bz2/CREDITS
%attr(755,root,root) %{php_extensiondir}/mysqlnd.so
%endif
-%if %{with oci}
+%if %{with pdo_oci}
%files oci8
%defattr(644,root,root,755)
%doc ext/oci8/{CREDITS,README}
%attr(755,root,root) %{php_extensiondir}/pdo_mysql.so
%endif
-%if %{with pdo_oci}
+%if %{with oci}
%files pdo-oci
%defattr(644,root,root,755)
%doc ext/pdo_oci/CREDITS
%if %{with pspell}
%files pspell
%defattr(644,root,root,755)
-%doc ext/pspell/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pspell.ini
%attr(755,root,root) %{php_extensiondir}/pspell.so
%endif
%files tests
%defattr(644,root,root,755)
-%dir %{php_datadir}/tests
-%dir %{php_datadir}/tests/php
-%{php_datadir}/tests/php/basic
-%{php_datadir}/tests/php/classes
-%{php_datadir}/tests/php/func
-%{php_datadir}/tests/php/lang
-%{php_datadir}/tests/php/output
-%{php_datadir}/tests/php/run-test
-%{php_datadir}/tests/php/security
-%{php_datadir}/tests/php/strings
-%{php_datadir}/tests/php/quicktester.inc
-%attr(755,root,root) %{php_datadir}/tests/php/run-tests.php
+%dir %{php_data_dir}/tests
+%dir %{php_data_dir}/tests/php
+%{php_data_dir}/tests/php/basic
+%{php_data_dir}/tests/php/classes
+%{php_data_dir}/tests/php/func
+%{php_data_dir}/tests/php/lang
+%{php_data_dir}/tests/php/output
+%{php_data_dir}/tests/php/run-test
+%{php_data_dir}/tests/php/security
+%{php_data_dir}/tests/php/strings
+%{php_data_dir}/tests/php/quicktester.inc
+%attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php
%if %{with tidy}
%files tidy
%if %{with zip}
%files zip
%defattr(644,root,root,755)
-%doc ext/zip/{CREDITS,examples}
+%doc ext/zip/CREDITS
+%doc ext/zip/examples
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_zip.ini
%attr(755,root,root) %{php_extensiondir}/zip.so
%endif