dep_pdo_mysql="$dep_pdo pdo $with_mysqlnd"
dep_simplexml="$dep_spl spl"
dep_imap="pcre"
-dep_phar="$dep_spl spl"
+dep_phar="$dep_spl spl hash"
dep_sqlite="$dep_pdo pdo"
dep_fileinfo="pcre"
dep_wddx='xml'
dep_xmlrpc='xml'
dep_xsl='dom'
dep_snmp="$dep_spl spl snmp"
+dep_opcache='pcre'
php=${PHP:-$(php-config --php-binary)}
ext_dir=${EXTENSION_DIR:-$(php-config --extension-dir)}
tmpini=$(mktemp)
# poldek --sn ac-ready -u php-*
-for ext in ${1:-$ext_dir/*.so}; do
+for ext in ${*:-$ext_dir/*.so}; do
[ -f $ext ] || continue
ext=${ext##*/}; ext=${ext%.so}
# special: opcache is listed as "Zend Opcache"
[ "$ext" = "opcache" ] && ext="zend opcache"
- grep -rlE '^(zend_)?extension=('$(echo "${deps# }" | tr ' ' '|')').so$' $conf_dir | LC_CTYPE=C LC_ALL= sort | xargs cat > $tmpini
+ grep -rlE '^(zend_)?extension=('$(echo "${deps# }" | tr ' ' '|')').so$' $conf_dir | LC_ALL=C sort | xargs cat > $tmpini
$php -n -d extension_dir=$ext_dir -c $tmpini -r "exit(extension_loaded('${ext}') ? 0 : 1);"
rc=$?
if [ $rc = 0 ]; then
+++ /dev/null
---- php-5.6.4/sapi/fpm/php-fpm.conf.in~ 2015-01-01 17:18:30.000000000 +0200
-+++ php-5.6.4/sapi/fpm/php-fpm.conf.in 2015-01-01 17:20:31.203799290 +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 ;
- ;;;;;;;;;;;;;;;;;;
-@@ -123,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.4/sapi/fpm/php-fpm.conf-d.in 2015-01-01 17:19:55.621958470 +0200
-@@ -0,0 +1,406 @@
-+; 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
-+
-+; 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
zend_bool self_alloced = 0;
--#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,
- "Headers and client library minor version mismatch. Headers:%d Library:%ld",
---- php-5.3.27/ext/mysql/php_mysql.c~ 2013-11-20 00:19:11.000000000 +0200
-+++ php-5.3.27/ext/mysql/php_mysql.c 2013-11-20 00:20:01.719956531 +0200
-@@ -704,7 +704,7 @@
- zend_bool free_host=0, new_link=0;
- long connect_timeout;
-
-#if !defined(MYSQL_USE_MYSQLND)
+#if 0 && !defined(MYSQL_USE_MYSQLND)
if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
---- php-5.5.0alpha6/ext/pcre/config0.m4~ 2013-03-19 18:08:15.000000000 +0200
-+++ php-5.5.0alpha6/ext/pcre/config0.m4 2013-03-19 18:09:26.732804962 +0200
+--- php-7.0/ext/pcre/config0.m4~ 2015-05-24 14:39:04.000000000 +0300
++++ php-7.0/ext/pcre/config0.m4 2015-05-24 14:53:49.980250297 +0300
@@ -11,7 +11,7 @@
if test "$PHP_PCRE_REGEX" != "yes" && test "$PHP_PCRE_REGEX" != "no"; then
AC_DEFINE(HAVE_PCRE, 1, [ ])
PHP_ADD_INCLUDE($PCRE_INCDIR)
-- PHP_NEW_EXTENSION(pcre, php_pcre.c, no)
-+ PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared)
+- PHP_NEW_EXTENSION(pcre, php_pcre.c, no,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
++ PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h])
+ EXTRA_LIBS="$EXTRA_LIBS -lpcre"
else
AC_MSG_CHECKING([for PCRE library to use])
AC_MSG_RESULT([bundled])
-@@ -61,7 +61,7 @@
- pcrelib/pcre_tables.c pcrelib/pcre_valid_utf8.c \
- pcrelib/pcre_version.c pcrelib/pcre_xclass.c"
- PHP_PCRE_CFLAGS="-DHAVE_CONFIG_H -I@ext_srcdir@/pcrelib"
+@@ -61,7 +62,7 @@
+ pcrelib/pcre_version.c pcrelib/pcre_xclass.c \
+ pcrelib/pcre_jit_compile.c"
+ PHP_PCRE_CFLAGS="-DHAVE_CONFIG_H -I@ext_srcdir@/pcrelib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
- PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, no,,$PHP_PCRE_CFLAGS)
+ PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, $ext_shared,,$PHP_PCRE_CFLAGS)
PHP_ADD_BUILD_DIR($ext_builddir/pcrelib)
PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h pcrelib/])
AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
---- php-5.3.1/ext/pcre/php_pcre.h 2009-11-30 20:59:04.046581246 +0200
-+++ php-5.3.1.pcre/ext/pcre/php_pcre.h 2009-11-30 21:38:06.435493243 +0000
+--- php-7.0/ext/pcre/php_pcre.h~ 2015-05-21 17:57:06.000000000 +0300
++++ php-7.0/ext/pcre/php_pcre.h 2015-05-24 14:56:27.528425546 +0300
@@ -34,7 +34,12 @@
#endif
- PHPAPI char *php_pcre_replace(char *regex, int regex_len, char *subject, int subject_len, zval *replace_val, int is_callable_replace, int *result_len, int limit, int *replace_count TSRMLS_DC);
+ PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, int subject_len, zval *replace_val, int is_callable_replace, int limit, int *replace_count);
+#if COMPILE_DL_PCRE
+#define pcre_get_compiled_regex pcre_get_compiled_regex_p
-+extern PHPAPI pcre* (*pcre_get_compiled_regex)(char *regex, pcre_extra **extra, int *options TSRMLS_DC);
++extern PHPAPI pcre* (*pcre_get_compiled_regex)(zend_string *regex, pcre_extra **extra, int *options);
+#else
- PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *options TSRMLS_DC);
+ PHPAPI pcre* pcre_get_compiled_regex(zend_string *regex, pcre_extra **extra, int *options);
+#endif
- PHPAPI pcre* pcre_get_compiled_regex_ex(char *regex, pcre_extra **extra, int *preg_options, int *coptions TSRMLS_DC);
+ PHPAPI pcre* pcre_get_compiled_regex_ex(zend_string *regex, pcre_extra **extra, int *preg_options, int *coptions);
extern zend_module_entry pcre_module_entry;
--- php-5.3.1/ext/pcre/php_pcre.c 2009-11-30 21:10:01.370473754 +0200
+#if COMPILE_DL_PCRE
+#undef pcre_get_compiled_regex
-+PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *preg_options TSRMLS_DC);
++PHPAPI pcre* pcre_get_compiled_regex(zend_string *regex, pcre_extra **extra, int *options);
+#endif
+
#include "ext/standard/php_string.h"
+#if COMPILE_DL_PCRE
+// will be visible in here
-+PHPAPI pcre* (*pcre_get_compiled_regex_p)(char *regex, pcre_extra **extra, int *options TSRMLS_DC);
++PHPAPI pcre* (*pcre_get_compiled_regex_p)(zend_string *regex, pcre_extra **extra, int *options);
+#endif
+
#define DEFAULT_SECTION_NAME "Default Browser Capability Settings"
[Zend Modules]
%aDone
+--- php-7.0.0beta3/main/php_ini.c~ 2015-08-26 18:50:15.000000000 +0300
++++ php-7.0.0beta3/main/php_ini.c 2015-08-26 22:33:59.126957396 +0300
+@@ -765,8 +765,8 @@
+ */
+ void php_ini_register_extensions(void)
+ {
+- zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb);
+ zend_llist_apply(&extension_lists.functions, php_load_php_extension_cb);
++ zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb);
+
+ zend_llist_destroy(&extension_lists.engine);
+ zend_llist_destroy(&extension_lists.functions);
---- php-5.3.16/ext/dba/config.m4.orig 2012-09-06 11:15:09.743002303 +0200
-+++ php-5.3.16/ext/dba/config.m4 2012-09-06 11:28:12.192974701 +0200
+--- php-7.0.2/ext/dba/config.m4~ 2016-01-11 00:42:48.000000000 +0200
++++ php-7.0.2/ext/dba/config.m4 2016-01-11 00:43:39.055351157 +0200
@@ -287,6 +287,14 @@
THIS_PREFIX=$i
THIS_INCLUDE=$i/db4/db.h
elif test -f "$i/include/db5.1/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db5.1/db.h
+@@ -376,7 +376,7 @@
+ break
+ fi
+ done
+- PHP_DBA_DB_CHECK(4, db-5.3 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
++ PHP_DBA_DB_CHECK(4, db-5.3 db-5.2 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
+ fi
+ PHP_DBA_STD_RESULT(db4,Berkeley DB4)
+
+
---- php-5.6.6/sapi/cgi/cgi_main.c.orig 2015-02-24 12:35:21.097436930 +0100
-+++ php-5.6.6/sapi/cgi/cgi_main.c 2015-02-24 12:38:49.851431030 +0100
-@@ -739,10 +739,7 @@
- int ret, len = strlen(message);
- char *buf = malloc(len+2);
+--- 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, len + 1);
+- ret = fcgi_write(request, FCGI_STDERR, buf, (int)(len + 1));
- free(buf);
-+ fcgi_write(request, FCGI_STDERR, message, len);
++ ret = fcgi_write(request, FCGI_STDERR, message, len);
if (ret < 0) {
php_handle_aborted_connection();
}
echo "end!<br>\n";
?>
---- php-5.4.0alpha2/sapi/cgi/cgi_main.c~ 2011-08-05 13:26:14.000000000 +0300
-+++ php-5.4.0alpha2/sapi/cgi/cgi_main.c 2011-08-05 13:57:17.564708456 +0300
+--- php-7.0.0beta1/sapi/cgi/cgi_main.c~ 2015-07-13 16:14:53.000000000 +0300
++++ php-7.0.0beta1/sapi/cgi/cgi_main.c 2015-07-15 13:51:32.072326529 +0300
@@ -101,6 +101,9 @@
*/
static int parent = 1;
fcgi_request *request = NULL;
int repeats = 1;
int benchmark = 0;
-@@ -1579,9 +1596,13 @@
- parent = 0;
+@@ -2050,10 +2050,13 @@
+ */
+ parent = 0;
- /* don't catch our signals */
-- sigaction(SIGTERM, &old_term, 0);
- sigaction(SIGQUIT, &old_quit, 0);
- sigaction(SIGINT, &old_int, 0);
+- /* don't catch our signals */
+- sigaction(SIGTERM, &old_term, 0);
+ sigaction(SIGQUIT, &old_quit, 0);
+ sigaction(SIGINT, &old_int, 0);
+
-+ /* call graceful shutdown handler for SIGTERM */
-+ act.sa_flags = 0;
-+ act.sa_handler = fastcgi_graceful_shutdown;
-+ sigaction(SIGTERM, &act, &old_term);
- break;
- case -1:
- perror("php (pre-forking)");
++ /* call graceful shutdown handler for SIGTERM */
++ act.sa_flags = 0;
++ act.sa_handler = fastcgi_graceful_shutdown;
++ sigaction(SIGTERM, &act, &old_term);
+ break;
+ case -1:
+ perror("php (pre-forking)");
; syslog_facility is used to specify what type of program is logging the
; message. This lets syslogd specify that messages from different facilities
-@@ -115,3 +115,11 @@
- ; 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 :)
-+
-+; 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/php/fpm.d/*.conf
---- php-5.6.2.old/sapi/fpm/php-fpm.conf-d.in 2014-10-27 08:07:47.762117299 +0200
-+++ php-5.6.2/sapi/fpm/php-fpm.conf-d.in 2014-10-27 08:23:41.232196777 +0200
-@@ -32,7 +32,7 @@
- ; specific port;
+--- php-5.6.2.old/sapi/fpm/www.conf.in 2014-10-27 08:07:47.762117299 +0200
++++ php-5.6.2/sapi/fpm/www.conf.in 2014-10-27 08:23:41.232196777 +0200
+@@ -33,7 +33,7 @@
+ ; (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)
-@@ -41,9 +41,9 @@
- ; BSD-derived systems allow connections regardless of permissions.
+ ; Default Value: 511 (-1 on FreeBSD and OpenBSD)
+@@ -44,9 +44,9 @@
+ ; 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.owner = root
+listen.group = @php_fpm_group@
+listen.mode = 0660
-
- ; List of ipv4 addresses of FastCGI clients which are allowed to connect.
- ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
-@@ -53,7 +53,7 @@
+ ; 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
+@@ -59,7 +59,7 @@
; must be separated by a comma. If this value is left blank, connections will be
; accepted from any ip address.
; Default Value: any
; 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)
-@@ -372,7 +372,7 @@
+@@ -382,7 +382,7 @@
; the current environment.
; Default Value: clean env
;env[HOSTNAME] = $HOSTNAME
@@ -12,8 +12,8 @@
@echo "Installing PHP FPM config: $(INSTALL_ROOT)$(sysconfdir)/" && \
- $(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/fpm.d || :
+ $(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/php-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 || :
+- @$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf.default || :
+ @$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf || :
-+ @$(INSTALL_DATA) sapi/fpm/php-fpm.conf-d $(INSTALL_ROOT)$(sysconfdir)/fpm.d/www.conf || :
++ @$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf || :
@echo "Installing PHP FPM man page: $(INSTALL_ROOT)$(mandir)/man8/"
@$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man8
--- php-5.4.0alpha2/sapi/fpm/config.m4~ 2011-06-26 18:48:11.000000000 +0300
+++ php-5.4.0alpha2/sapi/fpm/config.m4 2011-08-07 11:46:26.970876686 +0300
-@@ -458,7 +458,7 @@
- BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)"
+@@ -718,7 +718,7 @@
+ 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_FPM_OBJS) \$(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) libphp_common.la \$(PHP_BINARY_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(SAPI_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)"
++ BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(SAPI_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)"
;;
esac
@@ -1,6 +1,6 @@
fpm: $(SAPI_FPM_PATH)
--$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FPM_OBJS)
-+$(SAPI_FPM_PATH): libphp_common.la $(PHP_BINARY_OBJS) $(PHP_FPM_OBJS) $(SAPI_EXTRA_DEPS)
+-$(SAPI_FPM_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_FPM_OBJS)
++$(SAPI_FPM_PATH): libphp_common.la $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_FPM_OBJS) $(SAPI_EXTRA_DEPS)
$(BUILD_FPM)
install-fpm: $(SAPI_FPM_PATH)
---- php-5.6.12.orig/php.ini 2015-08-06 07:55:57.000000000 +0000
-+++ php-5.6.12/php.ini 2015-08-09 14:51:00.224790532 +0000
+--- php-7.0.1/php.ini 2015-12-16 10:41:54.000000000 +0000
++++ php-7.0.1/php.ini 2015-12-18 12:13:28.614443158 +0000
@@ -82,6 +82,20 @@
; much more verbose when it comes to errors. We recommend using the
; development version only in development environments, as errors shown to
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
-@@ -360,7 +374,7 @@
+@@ -356,7 +370,7 @@
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
-@@ -731,7 +745,7 @@
+@@ -720,7 +734,7 @@
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; On windows:
; extension_dir = "ext"
-@@ -745,53 +759,6 @@
+@@ -734,53 +748,6 @@
; http://php.net/enable-dl
enable_dl = Off
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
-@@ -869,48 +836,8 @@
+@@ -858,46 +825,8 @@
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
-; Windows Extensions
-; Note that ODBC support is built in, so no dll is needed for it.
--; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
--; extension folders as well as the separate PECL DLL download (PHP 5).
+-; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
+-; extension folders as well as the separate PECL DLL download (PHP 5+).
-; Be sure to appropriately set the extension_dir directive.
-;
-;extension=php_bz2.dll
-;extension=php_ldap.dll
-;extension=php_mbstring.dll
-;extension=php_exif.dll ; Must be after mbstring as it depends on it
--;extension=php_mysql.dll
-;extension=php_mysqli.dll
-;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
-;extension=php_openssl.dll
-;extension=php_pgsql.dll
-;extension=php_shmop.dll
-
--; The MIBS data available in the PHP distribution must be installed.
--; See http://www.php.net/manual/en/snmp.installation.php
+-; The MIBS data available in the PHP distribution must be installed.
+-; See http://www.php.net/manual/en/snmp.installation.php
-;extension=php_snmp.dll
-
-;extension=php_soap.dll
-;extension=php_sockets.dll
-;extension=php_sqlite3.dll
--;extension=php_sybase_ct.dll
-;extension=php_tidy.dll
-;extension=php_xmlrpc.dll
-;extension=php_xsl.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
-@@ -948,19 +875,19 @@
+@@ -935,19 +864,19 @@
; Use of this INI entry is deprecated, use global input_encoding instead.
; If empty, default_charset or input_encoding or iconv.input_encoding is used.
; The precedence is: default_charset < intput_encoding < iconv.input_encoding
[intl]
;intl.default_locale =
-@@ -1174,6 +1101,9 @@
- ; http://php.net/mysql.connect-timeout
- mysql.connect_timeout = 60
-
-+; The name of the character set to use as the default character set.
-+;mysql.connect_charset=utf8
-+
- ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
- ; SQL-Errors will be displayed.
- ; http://php.net/mysql.trace-mode
-@@ -1213,6 +1143,9 @@
+@@ -1146,6 +1075,9 @@
; http://php.net/mysqli.default-socket
mysqli.default_socket =
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysqli.default-host
mysqli.default_host =
-@@ -1379,7 +1312,7 @@
+@@ -1273,7 +1205,7 @@
[browscap]
; http://php.net/browscap
[Session]
; Handler used to store/retrieve data.
-@@ -1839,7 +1772,7 @@
+@@ -1696,7 +1628,7 @@
; Sets the directory name where SOAP extension will put cache files.
; http://php.net/soap.wsdl-cache-dir
-LoadModule php5_module modules/libphp5.so
+LoadModule php7_module modules/mod_php.so
-<IfModule mod_php5.c>
+<IfModule mod_php7.c>
<Files *.php>
AddType application/x-httpd-php .php
</Files>
+++ /dev/null
---- php-5.5.0RC2/ext/mysql/php_mysql.c~ 2013-06-11 22:12:11.000000000 +0300
-+++ php-5.5.0RC2/ext/mysql/php_mysql.c 2013-06-11 22:16:04.192270533 +0300
-@@ -360,6 +360,7 @@
- PHP_INI_ENTRY("mysql.default_port", NULL, PHP_INI_ALL, OnMySQLPort)
- STD_PHP_INI_ENTRY("mysql.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysql_globals, mysql_globals)
- STD_PHP_INI_ENTRY("mysql.connect_timeout", "60", PHP_INI_ALL, OnUpdateLong, connect_timeout, zend_mysql_globals, mysql_globals)
-+ STD_PHP_INI_ENTRY("mysql.connect_charset", NULL, PHP_INI_ALL, OnUpdateString, connect_charset, zend_mysql_globals, mysql_globals)
- STD_PHP_INI_BOOLEAN("mysql.trace_mode", "0", PHP_INI_ALL, OnUpdateLong, trace_mode, zend_mysql_globals, mysql_globals)
- PHP_INI_END()
- /* }}} */
-@@ -376,6 +377,7 @@
- mysql_globals->connect_errno = 0;
- mysql_globals->connect_error = NULL;
- mysql_globals->connect_timeout = 0;
-+ mysql_globals->connect_charset = NULL;
- mysql_globals->trace_mode = 0;
- mysql_globals->result_allocated = 0;
- }
-@@ -723,6 +723,7 @@
- {
- char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, *tmp=NULL, *host=NULL;
- int user_len = 0, passwd_len = 0, host_len = 0;
-+ char *connect_charset=NULL;
- char *hashed_details=NULL;
- int hashed_details_length, port = MYSQL_PORT;
- long client_flags = 0;
-@@ -527,6 +530,7 @@
-
-
- connect_timeout = MySG(connect_timeout);
-+ connect_charset = MySG(connect_charset);
-
- socket = MySG(default_socket);
-
---- php-5.3.1/ext/mysql/php_mysql.c~ 2010-02-20 00:51:52.000000000 +0200
-+++ php-5.3.1/ext/mysql/php_mysql.c 2010-02-20 00:55:43.475653264 +0200
-@@ -777,6 +777,10 @@
- if (connect_timeout != -1) {
- mysql_options(mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
- }
-+
-+ if (connect_charset != NULL)
-+ mysql_options(mysql->conn, MYSQL_SET_CHARSET_NAME, connect_charset);
-+
- #ifndef MYSQL_USE_MYSQLND
- if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
- #else
-@@ -826,6 +830,8 @@
- #endif
- if (mysql_ping(mysql->conn)) {
- if (mysql_errno(mysql->conn) == 2006) {
-+ if (connect_charset != NULL)
-+ mysql_options(mysql->conn, MYSQL_SET_CHARSET_NAME, connect_charset);
- #ifndef MYSQL_USE_MYSQLND
- if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
- #else
-@@ -898,6 +904,9 @@
- if (connect_timeout != -1)
- mysql_options(mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
-
-+ if (connect_charset != NULL)
-+ mysql_options(mysql->conn, MYSQL_SET_CHARSET_NAME, connect_charset);
-+
- #ifndef MYSQL_USE_MYSQLND
- if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
- #else
---- php-5.2.5_p20080206.orig/ext/mysql/php_mysql_structs.h 2008-02-06 14:22:57.510605687 +0100
-+++ php-5.2.5_p20080206/ext/mysql/php_mysql_structs.h 2008-02-06 14:23:27.764590355 +0100
-@@ -103,6 +103,7 @@
- long default_port;
- char *default_host, *default_user, *default_password;
- char *default_socket;
-+ char *connect_charset;
- char *connect_error;
- long connect_errno;
- long connect_timeout;
+++ /dev/null
---- php-5.3.6/ext/mysql/php_mysql.c~ 2011-04-13 20:47:29.263652096 +0200
-+++ php-5.3.6/ext/mysql/php_mysql.c 2011-04-13 20:48:30.206453191 +0200
-@@ -706,7 +706,7 @@
-
- #if !defined(MYSQL_USE_MYSQLND)
- if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
-- php_error_docref(NULL TSRMLS_CC, E_WARNING,
-+ php_error_docref(NULL TSRMLS_CC, E_NOTICE,
- "Headers and client library minor version mismatch. Headers:%d Library:%ld",
- MYSQL_VERSION_ID, mysql_get_client_version());
- }
---- php-5.3.6/ext/mysqli/mysqli_nonapi.c~ 2011-04-13 20:47:29.273652556 +0200
-+++ php-5.3.6/ext/mysqli/mysqli_nonapi.c 2011-04-13 20:48:41.070285840 +0200
-@@ -75,7 +75,7 @@
-
- #if !defined(MYSQL_USE_MYSQLND)
- if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) {
-- php_error_docref(NULL TSRMLS_CC, E_WARNING,
-+ php_error_docref(NULL TSRMLS_CC, E_NOTICE,
- "Headers and client library minor version mismatch. Headers:%d Library:%ld",
- MYSQL_VERSION_ID, mysql_get_client_version());
- }
---- php-5.3.1/ext/mysqli/mysqli.c~ 2010-02-20 00:58:34.000000000 +0200
-+++ php-5.3.1/ext/mysqli/mysqli.c 2010-02-20 01:00:22.459111311 +0200
-@@ -602,6 +602,7 @@
+--- 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)
- #ifdef MYSQLI_USE_MYSQLND
-@@ -475,6 +476,7 @@
+ 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->reconnect = 0;
mysqli_globals->report_mode = 0;
mysqli_globals->report_ht = 0;
---- php-5.3.4/ext/mysqli/mysqli_nonapi.c~ 2010-12-12 23:07:03.000000000 +0200
-+++ php-5.3.4/ext/mysqli/mysqli_nonapi.c 2010-12-12 23:07:36.497424912 +0200
-@@ -61,7 +61,7 @@
+--- 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
+@@ -61,7 +61,7 @@ void mysqli_common_connect(INTERNAL_FUNC
MY_MYSQL *mysql = NULL;
MYSQLI_RESOURCE *mysqli_resource = NULL;
zval *object = getThis();
- char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL;
+ char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL, *connect_charset=NULL;
- int hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0, socket_len = 0;
+ size_t hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0, socket_len = 0;
zend_bool persistent = FALSE;
- long port = 0, flags = 0;
-@@ -241,6 +241,12 @@
+ zend_long port = 0, flags = 0;
+@@ -233,6 +233,12 @@ void mysqli_common_connect(INTERNAL_FUNC
}
#endif
+ }
+
#if !defined(MYSQLI_USE_MYSQLND)
- if (mysql_real_connect(mysql->mysql, hostname, username, passwd, dbname, port, socket, CLIENT_MULTI_RESULTS) == NULL)
- #else
---- php-5.3.1/ext/mysqli/php_mysqli_structs.h~ 2009-10-14 16:51:25.000000000 +0300
-+++ php-5.3.1/ext/mysqli/php_mysqli_structs.h 2010-02-20 01:04:56.512214846 +0200
-@@ -358,6 +358,7 @@
+ /* 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;
- long reconnect;
- long allow_local_infile;
- long strict;
+ zend_long reconnect;
+ zend_long allow_local_infile;
+ zend_long strict;
---- php-5.4.0RC3/main/php_ini.c~ 2011-12-10 03:35:27.000000000 +0200
-+++ php-5.4.0RC3/main/php_ini.c 2011-12-10 03:36:08.930154336 +0200
-@@ -358,6 +358,11 @@
+to test which is main php.ini:
+$ php -r 'var_dump(array(get_cfg_var("cfg_file_path"),php_ini_loaded_file()));'
+
+https://github.com/pld-linux/php/commit/762ec2e
+
+--- php-7.0.0RC6.orig/main/php_ini.c 2015-11-10 23:58:52.227101032 +0200
++++ php-7.0.0RC6/main/php_ini.c 2015-11-11 00:01:43.502674750 +0200
+@@ -375,12 +375,19 @@
}
/* }}} */
+
/* {{{ php_init_config
*/
- int php_init_config(TSRMLS_D)
-@@ -480,6 +485,24 @@
+ int php_init_config(void)
+ {
+ char *php_ini_file_name = NULL;
+ char *php_ini_search_path = NULL;
++ // value for php_ini_loaded_file() to be stored into php_ini_opened_path
++ char *php_ini_loaded_file = NULL;
+ int php_ini_scanned_path_len;
+ char *open_basedir;
+ int free_ini_search_path = 0;
+@@ -557,8 +564,26 @@
}
}
}
+ /* Search (global) php.ini file in search path */
+ if (!fh.handle.fp) {
-+ fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
++ fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &opened_path);
+ if (fh.handle.fp) {
-+ fh.filename = php_ini_opened_path;
-+ //PG(safe_mode) = safe_mode_state;
++ fh.filename = ZSTR_VAL(opened_path);
++
++ // parse the ini file now
+ PG(open_basedir) = open_basedir;
+ fh.type = ZEND_HANDLE_FP;
+ zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC);
-+ //safe_mode_state = PG(safe_mode);
+ open_basedir = PG(open_basedir);
-+ //PG(safe_mode) = 0;
+ PG(open_basedir) = NULL;
+ fh.handle.fp = NULL;
-+ efree(php_ini_opened_path);
-+ fh.filename = php_ini_opened_path = NULL;
++
++ php_ini_loaded_file = estrdup(fh.filename);
++ fh.filename = NULL;
+ }
+ }
- /* Otherwise search for php-%sapi-module-name%.ini file in search path */
+- /* Otherwise search for php-%sapi-module-name%.ini file in search path */
++ /* Also search for php-%sapi-module-name%.ini file in search path */
if (!fh.handle.fp) {
-@@ -492,14 +515,6 @@
- fh.filename = php_ini_opened_path;
+ const char *fmt = "php-%s.ini";
+ char *ini_fname;
+@@ -568,15 +593,8 @@
+ if (fh.handle.fp) {
+ fh.filename = ZSTR_VAL(opened_path);
}
- }
--
+- }
+
- /* If still no ini file found, search for php.ini file in search path */
- if (!fh.handle.fp) {
-- fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
+- fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &opened_path);
- if (fh.handle.fp) {
-- fh.filename = php_ini_opened_path;
+- fh.filename = ZSTR_VAL(opened_path);
- }
- }
++ }
}
if (free_ini_search_path) {
-@@ -645,13 +645,15 @@ int php_init_config(TSRMLS_D)
+@@ -593,14 +611,28 @@
+
+ {
+ zval tmp;
++ // use main php.ini if loaded
++ // see https://github.com/pld-linux/php/commit/762ec2e
++ // test with:
++ // php -r 'var_dump(array(get_cfg_var("cfg_file_path"),php_ini_loaded_file()));'
++ if (php_ini_loaded_file) {
++ if (fh.filename) {
++ efree((char *)fh.filename);
++ }
++ fh.filename = php_ini_loaded_file;
++ }
+
+ ZVAL_NEW_STR(&tmp, zend_string_init(fh.filename, strlen(fh.filename), 1));
+ zend_hash_str_update(&configuration_hash, "cfg_file_path", sizeof("cfg_file_path")-1, &tmp);
+ if (opened_path) {
+ zend_string_release(opened_path);
+- } else {
++ }
++
++ if (fh.filename) {
+ efree((char *)fh.filename);
++ fh.filename = NULL;
+ }
++
+ php_ini_opened_path = zend_strndup(Z_STRVAL(tmp), Z_STRLEN(tmp));
+ }
+ }
+@@ -624,13 +656,15 @@
zend_llist scanned_ini_list;
zend_llist_element *element;
int l, total_l = 0;
for (debpath = bufpath ; debpath ; debpath=endpath) {
endpath = strchr(debpath, DEFAULT_DIR_SEPARATOR);
if (endpath) {
-@@ -664,7 +666,7 @@ int php_init_config(TSRMLS_D)
+@@ -643,7 +677,7 @@
}
- lenpath = strlen(debpath);
+ lenpath = (int)strlen(debpath);
- if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_alphasort)) > 0) {
+ if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_csort)) > 0) {
for (i = 0; i < ndir; i++) {
-
+--- php-7.0.0RC3/configure.in~ 2015-09-26 14:55:35.000000000 +0300
++++ php-7.0.0RC3/configure.in 2015-09-26 15:13:29.581882625 +0300
+@@ -224,6 +224,9 @@
+ dnl check for -R, etc. switch
+ PHP_RUNPATH_SWITCH
+
++dnl Always shared
++PHP_BUILD_SHARED
++
+ dnl Checks for some support/generator progs
+ PHP_PROG_AWK
+ PHP_PROG_BISON
--- php-5.2.4/Makefile.global~ 2007-08-31 19:13:58.000000000 +0300
+++ php-5.2.4/Makefile.global 2007-08-31 19:19:33.799017413 +0300
@@ -13,8 +13,12 @@
break; \
fi; \
done; \
---- php-5.4.0alpha2/sapi/cgi/config9.m4~ 2010-11-14 01:13:07.000000000 +0200
-+++ php-5.4.0alpha2/sapi/cgi/config9.m4 2011-08-01 10:28:47.495056372 +0300
+--- php-7.0.0beta1/sapi/cgi/config9.m4~ 2015-07-10 15:11:43.000000000 +0300
++++ php-7.0.0beta1/sapi/cgi/config9.m4 2015-07-13 16:03:06.900955209 +0300
@@ -64,7 +64,7 @@
- BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(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_CGI_OBJS) \$(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) libphp_common.la \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) \$(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)"
++ BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)"
;;
esac
---- php-5.4.0alpha2/sapi/cgi/Makefile.frag~ 2010-11-14 01:13:07.000000000 +0200
-+++ php-5.4.0alpha2/sapi/cgi/Makefile.frag 2011-08-01 12:21:29.155180914 +0300
+--- php-7.0.0beta1/sapi/cgi/Makefile.frag~ 2015-07-10 15:11:43.000000000 +0300
++++ php-7.0.0beta1/sapi/cgi/Makefile.frag 2015-07-13 16:03:56.810212555 +0300
@@ -1,6 +1,6 @@
cgi: $(SAPI_CGI_PATH)
--$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_CGI_OBJS)
-+$(SAPI_CGI_PATH): libphp_common.la $(PHP_BINARY_OBJS) $(PHP_CGI_OBJS)
+-$(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_CGI_OBJS)
++$(SAPI_CGI_PATH): libphp_common.la $(PHP_BINARY_OBJS) $(PHP_FASTCGI_OBJS) $(PHP_CGI_OBJS)
$(BUILD_CGI)
install-cgi: $(SAPI_CGI_PATH)
$(BUILD_CLI)
install-cli: $(SAPI_CLI_PATH)
+--- php-7.0.0RC3/sapi/phpdbg/Makefile.frag~ 2015-09-16 15:49:38.000000000 +0300
++++ php-7.0.0RC3/sapi/phpdbg/Makefile.frag 2015-09-27 21:24:44.370536565 +0300
+@@ -2,10 +2,10 @@
+
+ phpdbg-shared: $(BUILD_SHARED)
+
+-$(BUILD_SHARED): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_PHPDBG_OBJS)
++$(BUILD_SHARED): libphp_common.la $(PHP_BINARY_OBJS) $(PHP_PHPDBG_OBJS)
+ $(BUILD_PHPDBG_SHARED)
+
+-$(BUILD_BINARY): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_PHPDBG_OBJS)
++$(BUILD_BINARY): libphp_common.la $(PHP_BINARY_OBJS) $(PHP_PHPDBG_OBJS)
+ $(BUILD_PHPDBG)
+
+ %.c: %.y
+--- php-7.0.0RC3/sapi/phpdbg/config.m4~ 2015-09-16 15:49:38.000000000 +0300
++++ php-7.0.0RC3/sapi/phpdbg/config.m4 2015-09-27 21:25:34.413134698 +0300
+@@ -40,7 +40,7 @@
+
+ BUILD_PHPDBG="\$(LIBTOOL) --mode=link \
+ \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \
+- \$(PHP_GLOBAL_OBJS) \
++ libphp_common.la \
+ \$(PHP_BINARY_OBJS) \
+ \$(PHP_PHPDBG_OBJS) \
+ \$(EXTRA_LIBS) \
+@@ -50,7 +50,7 @@
+
+ BUILD_PHPDBG_SHARED="\$(LIBTOOL) --mode=link \
+ \$(CC) -shared -Wl,-soname,libphpdbg.so -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \
+- \$(PHP_GLOBAL_OBJS) \
++ libphp_common.la \
+ \$(PHP_BINARY_OBJS) \
+ \$(PHP_PHPDBG_OBJS) \
+ \$(EXTRA_LIBS) \
+--- php-7.0.0RC3/sapi/litespeed/Makefile.frag~ 2015-09-16 15:49:38.000000000 +0300
++++ php-7.0.0RC3/sapi/litespeed/Makefile.frag 2015-09-27 21:26:36.783039512 +0300
+@@ -1,6 +1,6 @@
+ litespeed: $(SAPI_LITESPEED_PATH)
+
+-$(SAPI_LITESPEED_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_LITESPEED_OBJS)
++$(SAPI_LITESPEED_PATH): libphp_common.la $(PHP_BINARY_OBJS) $(PHP_LITESPEED_OBJS)
+ $(BUILD_LITESPEED)
+
+ install-litespeed: $(SAPI_LITESPEED_PATH)
+--- php-7.0.0RC3/sapi/litespeed/config.m4~ 2015-09-16 15:49:38.000000000 +0300
++++ php-7.0.0RC3/sapi/litespeed/config.m4 2015-09-27 21:27:36.182790123 +0300
+@@ -17,10 +17,10 @@
+ ;;
+ *cygwin*)
+ SAPI_LITESPEED_PATH=sapi/litespeed/php.exe
+- BUILD_LITESPEED="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_LITESPEED_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)"
++ BUILD_LITESPEED="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS) \$(PHP_LITESPEED_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)"
+ ;;
+ *)
+- BUILD_LITESPEED="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_LITESPEED_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)"
++ BUILD_LITESPEED="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS) \$(PHP_LITESPEED_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)"
+ ;;
+ esac
+
---- php-5.3.0/ext/session/mod_files.c~ 2009-05-18 18:10:09.000000000 +0200
-+++ php-5.3.0/ext/session/mod_files.c 2009-08-07 08:41:53.029357590 +0200
-@@ -217,7 +217,6 @@
+--- php-7.0/ext/session/mod_files.c~ 2015-05-21 17:57:06.000000000 +0300
++++ php-7.0/ext/session/mod_files.c 2015-05-23 11:18:54.466402493 +0300
+@@ -286,7 +286,6 @@
dir = opendir(dirname);
if (!dir) {
-- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "ps_files_cleanup_dir: opendir(%s) failed: %s (%d)", dirname, strerror(errno), errno);
+- php_error_docref(NULL, E_NOTICE, "ps_files_cleanup_dir: opendir(%s) failed: %s (%d)", dirname, strerror(errno), errno);
return (0);
}
Add support for use of the system timezone database, rather
than embedding a copy. Discussed upstream but was not desired.
+(Few) upstream reports:
+https://bugs.php.net/bug.php?id=53320
+https://bugs.php.net/bug.php?id=54250
+
History:
+r13: adapt for upstream changes to use PHP allocator
r12: adapt for upstream changes for new zic
r11: use canonical names to avoid more case sensitivity issues
round lat/long from zone.tab towards zero per builtin db
r2: add filesystem trawl to set up name alias index
r1: initial revision
-diff -up php-5.6.9RC1/ext/date/lib/parse_tz.c.systzdata php-5.6.9RC1/ext/date/lib/parse_tz.c
---- php-5.6.9RC1/ext/date/lib/parse_tz.c.systzdata 2015-04-30 00:00:18.000000000 +0200
-+++ php-5.6.9RC1/ext/date/lib/parse_tz.c 2015-04-30 06:36:47.019617321 +0200
+diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/lib/parse_tz.c
+--- php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata 2015-08-18 23:39:24.000000000 +0200
++++ php-7.0.0RC1/ext/date/lib/parse_tz.c 2015-08-22 07:54:38.097258458 +0200
@@ -20,6 +20,16 @@
#include "timelib.h"
#include <stdio.h>
#ifdef HAVE_LOCALE_H
-@@ -31,7 +41,12 @@
+@@ -32,8 +42,12 @@
+ #include <strings.h>
#endif
- #define TIMELIB_SUPPORTS_V2DATA
-+
+#ifndef HAVE_SYSTEM_TZDATA
+ #define TIMELIB_SUPPORTS_V2DATA
#include "timezonedb.h"
+#endif
+
#if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
# if defined(__LITTLE_ENDIAN__)
-@@ -53,6 +68,10 @@ static int read_preamble(const unsigned
+@@ -55,6 +69,11 @@ static int read_preamble(const unsigned
{
uint32_t version;
+ *tzf += 20;
+ return 0;
+ }
++
/* read ID */
version = (*tzf)[3] - '0';
*tzf += 4;
-@@ -296,7 +315,418 @@ void timelib_dump_tzinfo(timelib_tzinfo
+@@ -298,7 +317,418 @@ void timelib_dump_tzinfo(timelib_tzinfo
}
}
+ const unsigned char *p = (const unsigned char *)str;
+ uint32_t hash = 5381;
+ int c;
-+
++
+ while ((c = tolower(*p++)) != '\0') {
+ hash = (hash << 5) ^ hash ^ c;
+ }
-+
++
+ return hash % LOCINFO_HASH_SIZE;
+}
+
+{
+ if (timezonedb_system) {
+ timelib_tzdb_index_entry *ent, lookup;
-+
++
+ lookup.id = (char *)timezone;
-+
++
+ ent = bsearch(&lookup, timezonedb_system->index,
+ timezonedb_system->index_size, sizeof lookup,
+ sysdbcmp);
{
int left = 0, right = tzdb->index_size - 1;
#ifdef HAVE_SETLOCALE
-@@ -335,21 +765,87 @@ static int seek_to_tz_position(const uns
+@@ -337,21 +767,88 @@ static int seek_to_tz_position(const uns
return 0;
}
+ return 0;
+ }
+
-+ (*tzf) = (unsigned char *)orig ;
++ (*tzf) = (unsigned char *)orig;
+ *map = orig;
-+ return 1;
++ return 1;
+ }
+ else
+#endif
+ return stat(fname, &st) == 0 && is_valid_tzfile(&st);
+ }
+#endif
++
+ return (inmem_seek_to_tz_position(&tzf, timezone, tzdb));
}
static void skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
-@@ -374,24 +870,54 @@ static void read_64bit_header(const unsi
+@@ -376,24 +873,54 @@ static void read_64bit_header(const unsi
timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb)
{
const unsigned char *tzf;
+ * if possible. */
+
+ if ((li = find_zone_info(system_location_table, timezone)) != NULL) {
-+ tmp->location.comments = strdup(li->comment);
-+ strncpy(tmp->location.country_code, li->code, 2);
++ tmp->location.comments = timelib_strdup(li->comment);
++ strncpy(tmp->location.country_code, li->code, 2);
+ tmp->location.longitude = li->longitude;
+ tmp->location.latitude = li->latitude;
+ tmp->bc = 1;
+ else {
+ strcpy(tmp->location.country_code, "??");
+ tmp->bc = 0;
-+ tmp->location.comments = strdup("");
++ tmp->location.comments = timelib_strdup("");
+ }
+
+ /* Now done with the mmap segment - discard it. */
+ } else
+#endif
+ {
++ /* PHP-style - use the embedded info. */
+ if (version == 2) {
+ skip_64bit_preamble(&tzf, tmp);
+ read_64bit_header(&tzf, tmp);
+ skip_64bit_types(&tzf, tmp);
+ skip_posix_string(&tzf, tmp);
+ }
-+ /* PHP-style - use the embedded info. */
+ read_location(&tzf, tmp);
+ }
} else {
tmp = NULL;
}
-diff -up php-5.6.9RC1/ext/date/lib/timelib.m4.systzdata php-5.6.9RC1/ext/date/lib/timelib.m4
---- php-5.6.9RC1/ext/date/lib/timelib.m4.systzdata 2015-04-30 00:00:18.000000000 +0200
-+++ php-5.6.9RC1/ext/date/lib/timelib.m4 2015-04-30 06:32:08.549500385 +0200
+diff -up php-7.0.0RC1/ext/date/lib/timelib.m4.systzdata php-7.0.0RC1/ext/date/lib/timelib.m4
+--- php-7.0.0RC1/ext/date/lib/timelib.m4.systzdata 2015-08-18 23:39:24.000000000 +0200
++++ php-7.0.0RC1/ext/date/lib/timelib.m4 2015-08-22 07:47:34.854055364 +0200
@@ -78,3 +78,17 @@ stdlib.h
dnl Check for strtoll, atoll
+++ /dev/null
---- php-5.3.3/ext/sybase_ct/config.m4~ 2010-07-07 13:15:24.000000000 +0300
-+++ php-5.3.3/ext/sybase_ct/config.m4 2010-07-24 19:21:13.897144810 +0300
-@@ -31,7 +31,7 @@
- fi
-
- PHP_ADD_LIBPATH($SYBASE_CT_LIBDIR, SYBASE_CT_SHARED_LIBADD)
-- if test -f $SYBASE_CT_INCDIR/tds.h || test -f $SYBASE_CT_INCDIR/tds_sysdep_public.h; then
-+ if test -f $SYBASE_CT_INCDIR/tds.h || test -f $SYBASE_CT_INCDIR/tds_sysdep_public.h || test -f $SYBASE_CT_INCDIR/sybdb.h; then
- PHP_ADD_LIBRARY(ct,, SYBASE_CT_SHARED_LIBADD)
- SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lct"
- elif test -f $SYBASE_CT_INCDIR/libsybct64; then
---- php-5.5.0alpha1/ext/standard/info.c~ 2012-11-13 22:00:16.000000000 +0200
-+++ php-5.5.0alpha1/ext/standard/info.c 2012-11-18 23:37:48.607735302 +0200
-@@ -794,6 +794,17 @@
- zend_html_puts(zend_version, strlen(zend_version) TSRMLS_CC);
+--- php-7.0.1/ext/standard/info.c 2015-12-18 12:02:05.000000000 +0000
++++ php-7.0.1/ext/standard/info.c 2015-12-18 12:02:27.523443158 +0000
+@@ -965,6 +965,14 @@
+ zend_html_puts(zend_version, strlen(zend_version));
}
php_info_print_box_end();
+ /* TLD Linux */
+ php_info_print_box_start(0);
-+ if (!sapi_module.phpinfo_as_text) {
-+ php_info_print("<a href=\"http://www.tld-linux.org/\">");
-+ }
+ php_info_print("This server is using TLD Linux.");
+ if (!sapi_module.phpinfo_as_text)
+ php_info_print("<br />More information at <a href=\"http://www.tld-linux.org/\">http://www.tld-linux.org/</a>.<br />\n");
+ else
+ php_info_print("\nMore information at http://www.tld-linux.org/.\n");
+ php_info_print_box_end();
- efree(php_uname);
+ zend_string_free(php_uname);
}
+
link core php with -lz for getimagesize()
see also http://bugs.php.net/bug.php?id=29611
---- php-4.4.1/ext/standard/image.c 2005-07-27 14:22:36.000000000 +0300
-+++ /tmp/image.c 2006-01-06 19:14:00.000000000 +0200
+--- 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 @@
#endif
#include "php_image.h"
/* {{{ php_handle_swc
*/
static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC)
-@@ -1267,7 +1290,7 @@
- result = php_handle_swf(stream TSRMLS_CC);
+@@ -1321,7 +1321,7 @@
+ result = php_handle_swf(stream);
break;
case IMAGE_FILETYPE_SWC:
-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+#if HAVE_ZLIB
- result = php_handle_swc(stream TSRMLS_CC);
+ result = php_handle_swc(stream);
#else
- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled.");
+ php_error_docref(NULL, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled");
# TODO 5.6:
-# - phpdbg: link with libphp_common
# - enable --with-fpm-systemd, but ensure it checks for sd_booted()
# - build with system libgd 2.1, see 73c5128
# TODO 5.4:
-# - check php-sapi-ini-file.patch for safe mode removal
# - update imap annotations patch (needs api porting)
# - update imap myrights patch (needs api porting)
# --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED
# --with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix.
-# UNPACKAGED EXTENSION NOTES:
-# - com_dotnet is Win32-only
# TODO:
# - fileinfo extension bundles magic db in library: data_file.c (dump of magic.mgc) is 14M
# - 2.3M fileinfo.so php54-fileinfo-5.4.6-0.15.x86_64
# - 13K fileinfo.so php-pecl-fileinfo-1.0.4-8.amd64
# - ttyname_r() misdetected http://bugs.php.net/bug.php?id=48820
# - wddx: restore session support (not compiled in due DL extension check)
-# - deal with modules removed from php and not moved to PECL, still not obsoleted anywhere
-# - removed from php 5.0 (currently in php4):
-# db [pecl-svn], hyperwave [pecl-svn], java [pecl-svn], mcal [pecl-svn], qtdom [pecl-svn]
-# - removed from php 5.1:
-# oracle [pecl-svn]
-# - removed from php 5.2:
-# filepro [pecl-svn], hwapi [pecl-svn]
-# - make additional headers and checking added by mail patch configurable
# - modularize standard (output from pure php -m)?
-# - lib64 patch obsolete by $PHP_LIBDIR ?
-# - WARNING: Phar: sha256/sha512 signature support disabled if ext/hash is
-# built shared, also PHAR_HAVE_OPENSSL is false if openssl is built shared.
-# make it runtime dep and add Suggests (or php warning messages)
# - some mods should be shared:
#$ php -m
# [PHP Modules]
-#+Core
+# Core
# date
-#+ereg
# libxml
# Reflection
# standard
-#
+#
# Conditional build:
%bcond_without default_php # use this PHP as default PHP in distro
+# - General options:
+%bcond_without embed # disable building Embedded API
+%bcond_with gcov # Enable Code coverage reporting
+%bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package
%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs)
-%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs)
-%bcond_with instantclient # build Oracle oci8 extension module against oracle-instantclient package
+%bcond_without kerberos5 # without Kerberos5 support
+%bcond_with mm # without mm support for session storage
+%bcond_with suhosin # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178
%bcond_with system_gd # with system gd (imageantialias function is missing then)
%bcond_with system_libzip # with system libzip (reported broken currently)
+%bcond_with systemtap # systemtap/DTrace support
+%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test"
+%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp)
+%bcond_with zts # Zend Thread Safety
+# - SAPI
+%bcond_without apache2 # disable building Apache 2.x SAPI
+%bcond_without cgi # disable CGI/FCGI SAPI
+%bcond_without fpm # disable FPM SAPI
+%bcond_without litespeed # build litespeed SAPI
+%bcond_with milter # disable Milter SAPI
+%bcond_without phpdbg # disable phpdbg SAPI
+# - Extensions
+%bcond_without bcmath # without bcmath extension module
+%bcond_without bz2 # 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 dba # without DBA extension module
+%bcond_without dom # without DOM extension module
%bcond_without enchant # without Enchant extension module
+%bcond_without ereg # without ext/ereg support
+%bcond_without exif # without EXIF extension module
+%bcond_without fileinfo # without fileinfo extension module
%bcond_without filter # without filter extension module
+%bcond_without ftp # without FTP extension module
+%bcond_without gd # without GD extension module
+%bcond_without gettext # without gettext extension module
+%bcond_without gmp # without gmp extension module
+%bcond_without hash # without hash extension module
+%bcond_without iconv # without iconv extension module
%bcond_without imap # without IMAP extension module
%bcond_without interbase # without InterBase extension module
%bcond_without intl # without Intl extension module
-%bcond_without kerberos5 # without Kerberos5 support
-%bcond_without litespeed # build litespeed module
+%bcond_without json # without json extension module
%bcond_without ldap # without LDAP extension module
+%bcond_without mbstring # without mbstring extension module
+%bcond_without mcrypt # without mbcrypt extension module
%bcond_without mhash # without mhash extension (supported by hash extension)
-%bcond_without mm # without mm support for session storage
-%bcond_without mssql # without MS SQL extension module
+%bcond_without mysqli # without mysqli support (Requires mysql >= 4.1)
%bcond_without mysqlnd # without mysqlnd support in mysql related extensions
-%bcond_without mysqli # without mysqli support (Requires mysql > 4.1)
+%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs)
%bcond_without odbc # without ODBC extension module
%bcond_without opcache # without Enable Zend OPcache extension support
%bcond_without openssl # without OpenSSL support and OpenSSL extension (module)
+%bcond_without pcntl # without pcntl extension module
%bcond_without pcre # without PCRE extension module
+%bcond_without pdo # without PDO extension module
+%bcond_without pdo_dblib # without PDO dblib extension module
+%bcond_without pdo_mysql # without PDO MySQL extension module
%bcond_without pdo_sqlite # without PDO SQLite extension module
%bcond_without pgsql # without PostgreSQL extension module
-%bcond_without phar # without phar extension module
+%bcond_without phar # without Phar extension module
+%bcond_without posix # without POSIX extension module
%bcond_without pspell # without pspell extension module
+%bcond_without readline # without readline extension module
%bcond_without recode # without recode extension module
+%bcond_without session # without session extension module
%bcond_without snmp # without SNMP extension module
%bcond_without sqlite2 # without SQLite extension module
%bcond_without sqlite3 # without SQLite3 extension module
-%bcond_without sybase_ct # without Sybase-CT extension module
%bcond_without tidy # without Tidy extension module
-%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp)
%bcond_without wddx # without WDDX extension module
%bcond_without xmlrpc # without XML-RPC extension module
-%bcond_with apache1 # disable building Apache 1.3.x SAPI
-%bcond_without apache2 # disable building Apache 2.x SAPI
-%bcond_with zts # Zend Thread Safety
-%bcond_without cgi # disable CGI/FCGI SAPI
-%bcond_without fpm # disable FPM
-%bcond_without embed # disable Embedded API
-%bcond_without phpdbg # disable phpdbg SAPI
-%bcond_with milter # disable Milter SAPI
-%bcond_with suhosin # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178
-%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test"
-%bcond_with gcov # Enable Code coverage reporting
-%bcond_with type_hints # experimental support for strict typing/casting
%define apxs1 /usr/sbin/apxs1
%define apxs2 /usr/sbin/apxs
# disable all sapis
%if %{with gcov}
-%undefine with_apache1
%undefine with_apache2
%undefine with_cgi
%undefine with_litespeed
%undefine with_milter
%endif
-%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha
+%ifnarch %{ix86} %{x8664} x32 sparc sparcv9 alpha
# ppc disabled (broken on th-ppc)
%undefine with_interbase
%endif
-%ifnarch %{ix86} %{x8664}
+%ifnarch %{ix86} %{x8664} x32
# unsupported, see sapi/cgi/fpm/fpm_atomic.h
%undefine with_fpm
%endif
-%if 0
-%if %{without apache1} && %{without apache2}
-ERROR: You need to select at least one Apache SAPI to build shared modules.
-%endif
-%endif
-
# filter depends on pcre
%if %{without pcre}
%undefine with_filter
%endif
-%define rel 1
%define orgname php
-%define ver_suffix 56
+%define ver_suffix 70
%define php_suffix %{!?with_default_php:%{ver_suffix}}
Summary: PHP: Hypertext Preprocessor
Summary(fr.UTF-8): Le langage de script embarque-HTML PHP
Summary(pl.UTF-8): Język skryptowy PHP
Summary(pt_BR.UTF-8): A linguagem de script PHP
-Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере
-Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері
+Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере
+Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 5.6.17
-Release: %{rel}%{?with_type_hints:.th}
+Version: 7.0.2
+Release: 0.1
Epoch: 4
-License: PHP
+# 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://www.php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5: 5e080e4b7df5db24f1b64313f8114bd8
-Source2: %{orgname}-mod_%{orgname}.conf
+# Source0-md5: ce5964672e4ec0b66ff088a6bafde8c7
+Source2: %{orgname}-mod_php.conf
Source3: %{orgname}-cgi-fcgi.ini
Source4: %{orgname}-apache.ini
Source5: %{orgname}-cli.ini
-# Taken from: http://browsers.garykeith.com/downloads.asp
-Source9: %{orgname}_browscap.ini
Source10: %{orgname}-fpm.init
Source11: %{orgname}-fpm.logrotate
Source12: %{orgname}-branch.sh
Patch1: %{orgname}-tld.patch
Patch2: %{orgname}-mail.patch
Patch3: %{orgname}-link-libs.patch
-Patch4: %{orgname}-libpq_fs_h_path.patch
Patch5: %{orgname}-filter-shared.patch
Patch6: %{orgname}-build_modules.patch
Patch7: %{orgname}-sapi-ini-file.patch
Patch9: libtool-tag.patch
Patch10: %{orgname}-ini.patch
Patch11: embed.patch
-%if %{with type_hints}
-Patch12: http://ilia.ws/patch/type_hint_53_v2.txt
-%endif
Patch14: %{orgname}-no_pear_install.patch
Patch17: %{orgname}-readline.patch
Patch18: %{orgname}-nohttpd.patch
-Patch20: %{orgname}-uint32_t.patch
Patch21: %{orgname}-dba-link.patch
Patch22: %{orgname}-both-apxs.patch
Patch23: %{orgname}-builddir.patch
Patch29: %{orgname}-fcgi-graceful.patch
Patch31: %{orgname}-fcgi-error_log-no-newlines.patch
Patch34: %{orgname}-libtool.patch
-Patch35: %{orgname}-tds.patch
-Patch36: %{orgname}-mysql-charsetphpini.patch
Patch37: %{orgname}-mysqli-charsetphpini.patch
Patch38: %{orgname}-pdo_mysql-charsetphpini.patch
Patch39: %{orgname}-use-prog_sendmail.patch
Patch59: %{orgname}-systzdata.patch
Patch60: %{orgname}-oracle-instantclient.patch
Patch62: mcrypt-libs.patch
-Patch63: %{orgname}-mysql-nowarning.patch
Patch65: system-libzip.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
Patch70: mysqlnd-ssl.patch
+Patch71: libdb-info.patch
+Patch72: phar-hash-shared.patch
URL: http://www.php.net/
%{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
%{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0}
BuildRequires: elfutils-devel
%{?with_enchant:BuildRequires: enchant-devel >= 1.1.3}
%{?with_kerberos5:BuildRequires: heimdal-devel}
+%{?with_fpm:BuildRequires: libapparmor-devel}
%{?with_system_libzip:BuildRequires: libzip-devel >= 0.10.1-2}
%{!?with_mysqlnd:BuildRequires: mysql-devel}
BuildRequires: pkgconfig
BuildRequires: sed >= 4.0
-%if %{with mssql} || %{with sybase_ct}
+%if %{with pdo_dblib}
BuildRequires: freetds-devel >= 0.82
%endif
-BuildRequires: freetype-devel >= 2.5.1
+BuildRequires: freetype-devel >= 1:2.5.1
%if %{with system_gd}
BuildRequires: gd-devel >= 2.1
%endif
BuildRequires: libltdl-devel >= 1.4
BuildRequires: libmcrypt-devel >= 2.4.4
BuildRequires: libpng-devel >= 1.0.8
-%{?with_webp:BuildRequires: libvpx-devel}
+%{?with_webp:BuildRequires: libwebp-devel}
BuildRequires: tokyocabinet-devel
-BuildRequires: libtool >= 2:2.2
+BuildRequires: libtool >= 2:2.4.6
BuildRequires: libxml2-devel >= 1:2.7.6-4
BuildRequires: libxslt-devel >= 1.1.0
%{?with_mm:BuildRequires: mm-devel >= 1.3.0}
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%if %{with openssl} || %{with ldap}
-BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: openssl-devel >= 0.9.8
%endif
%{?with_gcov:BuildRequires: lcov}
%{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}}
BuildRequires: pam-devel
%{?with_pcre:BuildRequires: pcre-devel >= 8.10}
BuildRequires: pkgconfig
-%{?with_pgsql:BuildRequires: postgresql-backend-devel >= 7.2}
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: readline-devel
%{?with_recode:BuildRequires: recode-devel >= 3.5d-3}
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpm-build >= 4.4.0
BuildRequires: rpmbuild(macros) >= 1.566
+%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
BuildRequires: tar >= 1:1.22
BuildRequires: xz
%if %{with sqlite3} || %{with pdo_sqlite}
BuildRequires: sqlite3-devel >= 3.3.9
%endif
-BuildRequires: t1lib-devel
%{?with_tidy:BuildRequires: tidy-devel}
%{?with_odbc:BuildRequires: unixODBC-devel}
%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel >= 0.54.1}
BuildRequires: zlib-devel >= 1.0.9
-%if %{with apache1}
-BuildRequires: apache1-devel
-%endif
%if %{with apache2}
BuildRequires: apache-devel >= 2.0.52-2
BuildRequires: apr-devel >= 1:1.0.0
%define _sysconfdir %{php_sysconfdir}
# must be in sync with source. extra check ensuring that it is so is done in %%build
-%define php_api_version 20131106
-%define zend_module_api 20131226
-%define zend_extension_api 220131226
-%define php_pdo_api_version 20080721
+%define php_api_version 20151012
+%define zend_module_api 20151012
+%define zend_extension_api 320151012
+%define php_pdo_api_version 20150127
# Extension versions
%define bz2ver 1.0
%define fileinfover 1.0.5
%define hashver 1.0
%define intlver 1.1.0
-%define jsonver 1.2.1
+%define jsonver 1.4.0
%define opcachever 7.0.6-dev
%define pharver 2.0.2
%define sqlite3ver 0.7-dev
-%define zipver 1.12.5
-%define phpdbgver 0.4.0
+%define zipver 1.13.0
+%define phpdbgver 0.5.0
%define _zend_zts %{!?with_zts:0}%{?with_zts:1}
%define php_debug %{!?debug:0}%{?debug:1}
роботи з базами даних є доволі простим. Найбільш популярне
використання PHP - заміна для CGI скриптів.
-%package -n apache1-mod_%{name}
-Summary: PHP DSO module for Apache 1.3.x
-Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 1.3.x
-Group: Development/Languages/PHP
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires: apache1(EAPI) >= 1.3.33-2
-Requires: apache1-mod_mime
-Provides: webserver(php) = %{version}
-Obsoletes: apache-mod_php < 1:4.1.1
-Obsoletes: apache1-mod_php < 4:5.3.28-7
-Obsoletes: phpfi
-
-%description -n apache1-mod_%{name}
-PHP as DSO module for Apache 1.3.x.
-
-%description -n apache1-mod_%{name} -l pl.UTF-8
-PHP jako moduł DSO (Dynamic Shared Object) dla Apache 1.3.x.
-
%package -n apache-mod_%{name}
Summary: PHP DSO module for Apache 2.x
Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 2.x
Provides: webserver(php) = %{version}
Obsoletes: php-cgi < 4:5.3.28-7
Obsoletes: php-fcgi < 4:5.3.0
-Conflicts: logrotate < 3.8.0
%description cgi
PHP as CGI or FastCGI program.
Requires(pre): /usr/sbin/useradd
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: rc-scripts
+Provides: php(fcgi)
Provides: php(fpm)
Provides: user(http)
Provides: webserver(php) = %{version}
Obsoletes: php-fpm < 4:5.3.28-7
+Conflicts: logrotate < 3.8.0
%description fpm
PHP FastCGI Process Manager.
Provides: %{name}(zend_module_api) = %{zend_module_api}
Provides: %{name}-core
Provides: %{name}-date
-Provides: %{name}-ereg
+%{?with_ereg:Provides: %{name}-ereg}
Provides: %{name}-reflection
Provides: %{name}-standard
Provides: php(core) = %{version}
Provides: php(date)
-Provides: php(ereg)
+%{?with_ereg:Provides: php(ereg)}
Provides: php(libxml)
Provides: php(reflection)
Provides: php(standard)
%{!?with_mysqlnd:Obsoletes: %{name}-mysqlnd}
%{?with_pcre:%requires_ge_to pcre pcre-devel}
+Suggests: browscap
Obsoletes: php-common < 4:5.3.28-7
Obsoletes: php-pecl-domxml
Conflicts: php4-common < 3:4.4.4-8
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: autoconf >= 2.13
Requires: automake
-Requires: libtool >= 2:2.2
+Requires: libtool >= 2:2.4.6
%{?with_pcre:Requires: pcre-devel >= 8.10}
Requires: shtool
Provides: php-devel = %{epoch}:%{version}-%{release}
+Obsoletes: php-devel
Obsoletes: php-pear-devel
Obsoletes: php4-devel
Obsoletes: php52-devel
Obsoletes: php53-devel
Obsoletes: php54-devel
Obsoletes: php55-devel
+Obsoletes: php56-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
Moduł PHP dodający obsługę baz danych MS SQL poprzez bibliotekę
FreeTDS.
-%package mysql
-Summary: MySQL database module for PHP
-Summary(pl.UTF-8): Moduł bazy danych MySQL dla PHP
-Summary(pt_BR.UTF-8): Um módulo para aplicações PHP que usam bancos de dados MySQL
-Group: Libraries
-URL: http://www.php.net/manual/en/book.mysql.php
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-%{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}}
-Provides: php(mysql)
-Obsoletes: php-mysql < 4:5.3.28-7
-
-%description mysql
-This is a dynamic shared object (DSO) for PHP that will add MySQL
-database support.
-
-%description mysql -l pl.UTF-8
-Moduł PHP umożliwiający dostęp do bazy danych MySQL.
-
-%description mysql -l pt_BR.UTF-8
-Um módulo para aplicações PHP que usam bancos de dados MySQL.
-
%package mysqli
Summary: MySQLi module for PHP
Summary(pl.UTF-8): Moduł MySQLi dla PHP
Group: Libraries
URL: https://wiki.php.net/rfc/optimizerplus
Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Requires: %{name}-pcre = %{epoch}:%{version}-%{release}
Provides: php(opcache) = %{opcachever}
%description opcache
URL: http://www.php.net/manual/en/book.phar.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: %{name}-spl = %{epoch}:%{version}-%{release}
+Requires: %{name}-hash = %{epoch}:%{version}-%{release}
Suggests: %{name}-cli
# zlib is required by phar program, but as phar cli is optional should the dep be too
Suggests: %{name}-zlib
zapisuje dane bezpośrednio z/do plików baz danych znajdujących się na
dysku.
-%package sybase-ct
-Summary: Sybase-CT extension module for PHP
-Summary(pl.UTF-8): Moduł Sybase-CT dla PHP
-Group: Libraries
-URL: http://www.php.net/manual/en/book.sybase.php
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Provides: php(sybase-ct)
-Obsoletes: php-sybase
-Obsoletes: php-sybase-ct < 4:5.3.28-7
-
-%description sybase-ct
-This is a dynamic shared object (DSO) for PHP that will add Sybase and
-MS SQL databases support through CT-lib.
-
-%description sybase-ct -l pl.UTF-8
-Moduł PHP dodający obsługę baz danych Sybase oraz MS SQL poprzez
-CT-lib.
-
%package sysvmsg
Summary: SysV msg extension module for PHP
Summary(pl.UTF-8): Moduł SysV msg dla PHP
Moduł PHP umożliwiający używanie kompresji zlib.
%prep
-%setup -q -n %{orgname}-%{version}%{?subver}
+%setup -q -n %{orgname}-%{version}
cp -p php.ini-production php.ini
%patch0 -p1
%patch1 -p1
-%patch2 -p1
+#%patch2 -p1
%patch3 -p1
-%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
+%{?with_milter:%patch8 -p1}
%patch9 -p1
%patch10 -p1
-%if %{with type_hints}
-%patch12 -p0
-%endif
%patch14 -p1
%patch17 -p1
%patch18 -p1
-%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch29 -p1
%patch31 -p1
%patch34 -p1
-%patch35 -p1
-%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%if %{with fpm}
-%patch69 -p1
%patch41 -p1
%patch42 -p1
%endif
%patch59 -p1
%patch60 -p1
%patch62 -p1
-%patch63 -p1
%{?with_system_libzip:%patch65 -p1}
%patch66 -p1
%patch67 -p1
+#%patch68 -p1
%patch70 -p1
+%patch71 -p1
+%patch72 -p1
sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+# com_dotnet is Win32-only
+%{__rm} -r ext/com_dotnet
+
# conflict seems to be resolved by recode patches
%{__rm} ext/recode/config9.m4
%{__rm} -r ext/sqlite3/tests
%endif
+# ----- Manage known as failed test -------
+# affected by systzdata patch
+%{__rm} ext/date/tests/timezone_location_get.phpt
+%{__rm} ext/date/tests/timezone_version_get.phpt
+%{__rm} ext/date/tests/timezone_version_get_basic1.phpt
+# Should be skipped but fails sometime
+%{__rm} ext/standard/tests/file/file_get_contents_error001.phpt
+# fails sometimes
+%{__rm} ext/sockets/tests/mcast_ipv?_recv.phpt
+# causes stack exhausion
+%{__rm} Zend/tests/bug54268.phpt
+%{__rm} Zend/tests/bug68412.phpt
+
+# avoid issues when two builds run simultaneously
+%ifarch %{x8664}
+sed -e 's/64321/64322/' -i ext/openssl/tests/*.phpt
+%endif
+
# skip XFAILs
# no point testing stuff that is knowingly broken
-find -name '*.phpt' | xargs grep XFAIL -l | xargs rm -v
+find -name '*.phpt' | xargs grep '^--XFAIL--' -l | xargs rm -v
env \
%ifarch %{ix86}
-ix86= x8664=:
+ix86= x8664=: \
%endif
%ifarch %{x8664}
ix86=: x8664= \
+%endif
+%ifarch x32
+ix86=: x8664=: \
%endif
sh -xe %{_sourcedir}/skip-tests.sh
: Update the jsonver macro and rebuild.
exit 1
fi
-ver=$(sed -n '/#define PHP_ZENDOPCACHE_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h)
+ver=$(awk '/#define PHP_ZENDOPCACHE_VERSION/ {print $3}' ext/opcache/ZendAccelerator.h | xargs)
if test "$ver" != "%{opcachever}"; then
: Error: Upstream Zend Opcache version is now ${ver}, expecting %{opcachever}.
: Update the opcachever macro and rebuild.
: Update the enchantver macro and rebuild.
exit 1
fi
-ver=$(awk '/#define PHP_HASH_EXTVER/ {print $3}' ext/hash/php_hash.h | xargs)
+ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs)
if test "$ver" != "%{hashver}"; then
: Error: Upstream HASH version is now ${ver}, expecting %{hashver}.
: Update the hashver macro and rebuild.
%if %{with embed}
embed
%endif
-%if %{with apache1}
-apxs1
-%endif
%if %{with apache2}
apxs2
%endif
embed)
sapi_args='--disable-cli --disable-cgi --enable-embed'
;;
- apxs1)
- ver=$(rpm -q --qf '%{V}' apache1-devel)
- sapi_args="--disable-cli --disable-cgi --with-apxs=%{apxs1} --with-apache-version=$ver"
- ;;
apxs2)
ver=$(rpm -q --qf '%{V}' apache-devel)
sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver"
--%{!?debug:dis}%{?debug:en}able-debug \
%{?with_zts:--enable-maintainer-zts} \
--enable-inline-optimization \
- --enable-bcmath=shared \
- --enable-calendar=shared \
- --enable-ctype=shared \
- --enable-dba=shared \
- --enable-dom=shared \
- --enable-exif=shared \
- --enable-fileinfo=shared \
- --enable-ftp=shared \
+ %{__enable_disable bcmath bcmath shared} \
+ %{__enable_disable calendar calendar shared} \
+ %{__enable_disable ctype ctype shared} \
+ %{__enable_disable dba dba shared} \
+ %{__enable_disable dom dom shared} \
+ %{?with_systemtap:--enable-dtrace} \
+ %{__enable_disable exif exif shared} \
+ %{__enable_disable fileinfo fileinfo shared} \
+ %{__enable_disable ftp ftp shared} \
--enable-gd-native-ttf \
%{?with_intl:--enable-intl=shared} \
--enable-libxml \
- --enable-mbstring=shared,all \
+ %{__enable_disable mbstring mbstring shared,all} \
--enable-mbregex \
- --enable-pcntl=shared \
- --enable-pdo=shared \
- --enable-json=shared \
- --enable-hash=shared \
+ %{__enable_disable pcntl pcntl shared} \
+ %{__enable_disable pdo pdo shared} \
+ %{__enable_disable json json shared} \
+ %{__enable_disable hash hash shared} \
--enable-xmlwriter=shared \
%if %{with fpm}
--with-fpm-user=http \
--with-fpm-group=http \
%endif
-%if %{with mssql} || %{with sybase_ct}
+%if %{with pdo_dblib}
--with-pdo-dblib=shared \
%endif
%if %{with interbase} && %{without interbase_inst}
%endif
%{?with_mhash:--with-mhash=yes} \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
- --with-pdo-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \
+ %{__with_without pdo_mysql pdo-mysql shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd}} \
%{?with_oci:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \
%{?with_odbc:--with-pdo-odbc=shared,unixODBC,/usr} \
%{?with_pgsql:--with-pdo-pgsql=shared} \
%{?with_pdo_sqlite:--with-pdo-sqlite=shared,/usr} \
%{?with_webp:--with-vpx-dir=/usr} \
--without-libexpat-dir \
- --enable-posix=shared \
+ %{__enable_disable posix posix shared} \
--enable-shared \
- --enable-session=shared \
+ %{__enable_disable session session shared} \
--enable-shmop=shared \
--enable-simplexml=shared \
--enable-sysvmsg=shared \
%{?with_wddx:--enable-wddx=shared} \
--enable-xml=shared \
--enable-xmlreader=shared \
- --with-bz2=shared \
+ %{__with_without bz2 bz2 shared} \
%{__with_without curl curl shared} \
--with-db4 \
- --with-iconv=shared \
+ %{__with_without iconv iconv shared} \
%{?with_enchant:--with-enchant=shared,/usr} \
--with-freetype-dir=shared \
- --with-gettext=shared \
- --with-gd=shared%{?with_system_gd:,/usr} \
+ %{__with_without gettext gettext shared} \
+ %{__with_without gd gd shared%{?with_system_gd:,/usr}} \
--with-gdbm \
- --with-gmp=shared \
+ %{__with_without gmp gmp shared} \
%{?with_imap:--with-imap=shared --with-imap-ssl} \
%{?with_interbase:--with-interbase=shared%{!?with_interbase_inst:,/usr}} \
--with-jpeg-dir=/usr \
%{?with_ldap:--with-ldap=shared --with-ldap-sasl} \
- --with-mcrypt=shared \
+ %{__with_without mcrypt mcrypt shared} \
%{?with_mm:--with-mm} \
- %{?with_mssql:--with-mssql=shared} \
%{?with_mysqlnd:--enable-mysqlnd=shared} \
- --with-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \
%{?with_mysqli:--with-mysqli=shared,%{!?with_mysqlnd:/usr/bin/mysql_config}%{?with_mysqlnd:mysqlnd}} \
%{?with_oci:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \
- %{?with_opcache:--enable-opcache=shared} \
+ %{__enable_disable opcache opcache shared} \
%{?with_openssl:--with-openssl=shared} \
%{?with_kerberos5:--with-kerberos} \
--with-tcadb=/usr \
%{__enable_disable phar phar shared} \
--with-png-dir=/usr \
%{?with_pspell:--with-pspell=shared} \
- --with-readline=shared \
+ %{__with_without readline readline shared} \
%{?with_recode:--with-recode=shared} \
- --with-regex=system \
+ %{__with_without ereg regex system} \
%{?with_snmp:--with-snmp=shared} \
- %{?with_sybase_ct:--with-sybase-ct=shared,/usr} \
%{!?with_pdo_sqlite:--without-pdo-sqlite} \
%{__with_without sqlite3 sqlite3 shared,/usr} \
- --with-t1lib=shared \
%{?with_tidy:--with-tidy=shared} \
%{?with_odbc:--with-unixODBC=shared,/usr} \
%{__with_without xmlrpc xmlrpc shared,/usr} \
%{__make} build-modules \
MYSQLND_SHARED_LIBADD="-lssl -lcrypto"
-%if %{with apache1}
-%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache/libphp5.la -f Makefile.apxs1
-%endif
-
%if %{with apache2}
-%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp5.la -f Makefile.apxs2
+%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp7.la -f Makefile.apxs2
%endif
%if %{with litespeed}
%endif
%if %{with embed}
-%{__make} -f Makefile.embed libphp5.la
+%{__make} -f Makefile.embed libphp7.la
%endif
%if %{with phpdbg}
[ "$mod" = "spl" ] && conf="SPL.ini"
# session needs to be loaded before php-pecl-http, php-pecl-memcache, php-pecl-session_mysql
[ "$mod" = "session" ] && conf="Session.ini"
- # mysqlnd needs to be loaded before mysql,mysqli,pdo_mysqli
+ # mysqlnd needs to be loaded before mysqli,pdo_mysqli
[ "$mod" = "mysqlnd" ] && conf="MySQLND.ini"
echo "+ $conf"
cat > conf.d/$conf <<-EOF
cat <<'EOF' > run-tests.sh
#!/bin/sh
export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+export SKIP_ONLINE_TESTS=1
unset TZ LANG LC_ALL || :
%{__make} test \
EXTENSION_DIR=modules \
phpbuilddir=%{_libdir}/%{name}/build \
INSTALL_ROOT=$RPM_BUILD_ROOT
+# version the .phar files
+mv $RPM_BUILD_ROOT%{_bindir}/phar{,%{ver_suffix}}.phar
+mv $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{ver_suffix}}.phar.1
# make link relative
-ln -sfn phar.phar $RPM_BUILD_ROOT%{_bindir}/phar
+ln -sfn phar%{ver_suffix}.phar $RPM_BUILD_ROOT%{_bindir}/phar
# version suffix
v=$(echo %{version} | cut -d. -f1-2)
-# install Apache1 DSO module
-%if %{with apache1}
-libtool --mode=install install -p sapi/apache/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache1
-mv $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5{,-$v}.so
-ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.so
-%endif
-
# install Apache2 DSO module
%if %{with apache2}
-libtool --mode=install install -p sapi/apache2handler/libphp5.la $RPM_BUILD_ROOT%{_libdir}/apache
-mv $RPM_BUILD_ROOT%{_libdir}/apache/libphp5{,-$v}.so
-ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so
+libtool --mode=install install -p sapi/apache2handler/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache
+mv $RPM_BUILD_ROOT%{_libdir}/apache/libphp7{,-$v}.so
+ln -s libphp7-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so
%endif
# install litespeed sapi
# install FCGI PM
%if %{with fpm}
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/fpm.d,%{_sbindir}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/php-fpm.d,%{_sbindir}}
libtool --mode=install install -p sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir}/%{name}-fpm
cp -p sapi/fpm/php-fpm.8 $RPM_BUILD_ROOT%{_mandir}/man8/%{name}-fpm.8
cp -p sapi/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir}
-cp -p sapi/fpm/php-fpm.conf-d $RPM_BUILD_ROOT%{_sysconfdir}/fpm.d/www.conf
+cp -p sapi/fpm/www.conf $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d
install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-fpm
install -d $RPM_BUILD_ROOT/etc/logrotate.d
%{__sed} -i -e '
s#/usr/lib/php#%{php_extensiondir}#
- s#/etc/php#%{_sysconfdir}#
+ s#/etc/php/#%{_sysconfdir}/#
s#@processname@#%{name}-fpm#g
-' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf,%{_sysconfdir}/fpm.d/www.conf}
+' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf,%{_sysconfdir}/php-fpm.d/www.conf}
%endif
# install Embedded API
# we could use install-headers from Makefile.embed, but that would reinstall all headers
# install-sapi installs to wrong dir, so just do it all manually
install -d $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed
-install -p libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}
+install -p libs/libphp7.so $RPM_BUILD_ROOT%{_libdir}
cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed
%endif
%endif
cp -p php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
-
cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini
-cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/browscap.ini
-
-%if %{with apache1}
-cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf
-cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache.ini
-%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.la
-%endif
%if %{with apache2}
cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf
cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache2handler.ini
-%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.la
+%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la
%endif
# ensure that paths are correct for current php version and arch
mv $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d}
# use system automake and {lib,sh}tool
- ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build
- for i in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do
- ln -snf %{_aclocaldir}/${i} $RPM_BUILD_ROOT%{_libdir}/%{name}/build
- done
- ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build
+ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build
ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/build
+for fn in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do
+ f=%{_aclocaldir}/$fn
+ test -f $f || continue
+ ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build
+done
+for fn in ltmain.sh config/ltmain.sh build-aux/ltmain.sh; do
+ f=/usr/share/libtool/$fn
+ test -f $f || continue
+ ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build
+ break
+done
sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize
# for php-pecl-mailparse
%clean
rm -rf $RPM_BUILD_ROOT
-%post -n apache1-mod_%{name}
-if [ "$1" = "1" ]; then
- %service -q apache restart
-fi
-
-%postun -n apache1-mod_%{name}
-if [ "$1" = "0" ]; then
- %service -q apache restart
-fi
-
%post -n apache-mod_%{name}
if [ "$1" = "1" ]; then
%service -q httpd restart
%service %{name}-fpm restart
%preun fpm
-if [ "$1" = 0 ]; then
+if [ "$1" = "0" ]; then
%service %{name}-fpm stop
/sbin/chkconfig --del %{name}-fpm
fi
fn=${fn%.rpmsave}
nf=%{_sysconfdir}/$dn/$fn
test -f "$nf" || continue
- cp -vf $nf{,.rpmnew}
- mv -vf $f $nf
+ cp -vfb $nf{,.rpmnew}
+ cp -vfb $f $nf
%{__sed} -i -e '
s#%{_libdir}/php#%{_libdir}/%{name}#
s#/etc/php#%{_sysconfdir}#
' $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
+
# common macros called at extension post/postun scriptlet
%define extension_scripts() \
%post %1 \
%extension_scripts ldap
%extension_scripts mbstring
%extension_scripts mcrypt
-%extension_scripts mssql
-%extension_scripts mysql
%extension_scripts mysqli
%extension_scripts mysqlnd
%extension_scripts oci8
%extension_scripts sockets
%extension_scripts spl
%extension_scripts sqlite3
-%extension_scripts sybase-ct
%extension_scripts sysvmsg
%extension_scripts sysvsem
%extension_scripts sysvshm
%extension_scripts zip
%extension_scripts zlib
-%if %{with apache1}
-%files -n apache1-mod_%{name}
-%defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/apache/conf.d/*_mod_php.conf
-%dir %{_sysconfdir}/apache.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache.ini
-%attr(755,root,root) %{_libdir}/apache1/libphp5.so
-%attr(755,root,root) %{_libdir}/apache1/libphp5-*.*.so
-%endif
-
%if %{with apache2}
%files -n apache-mod_%{name}
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/conf.d/*_mod_php.conf
%dir %{_sysconfdir}/apache2handler.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache2handler.ini
-%attr(755,root,root) %{_libdir}/apache/libphp5.so
-%attr(755,root,root) %{_libdir}/apache/libphp5-*.*.so
+%attr(755,root,root) %{_libdir}/apache/mod_php.so
+%attr(755,root,root) %{_libdir}/apache/libphp7-*.*.so
%endif
%if %{with litespeed}
%if %{with embed}
%files embedded
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libphp5.so
+%attr(755,root,root) %{_libdir}/libphp7.so
%endif
%files cli
%files fpm
%defattr(644,root,root,755)
%doc sapi/fpm/{CREDITS,LICENSE}
-%dir %{_sysconfdir}/fpm.d
+%dir %{_sysconfdir}/php-fpm.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpm.d/www.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.d/www.conf
%attr(755,root,root) %{_sbindir}/%{name}-fpm
%{_mandir}/man8/%{name}-fpm.8*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm
%dir %{_sysconfdir}
%dir %{_sysconfdir}/conf.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/browscap.ini
%attr(755,root,root) %{_libdir}/libphp_common-*.so
%dir %{php_extensiondir}
%{_mandir}/man1/php-config.1*
%{_mandir}/man1/phpize.1*
+%if %{with bcmath}
%files bcmath
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/bcmath.ini
%attr(755,root,root) %{php_extensiondir}/bcmath.so
+%endif
+%if %{with bz2}
%files bz2
%defattr(644,root,root,755)
%doc ext/bz2/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/bz2.ini
%attr(755,root,root) %{php_extensiondir}/bz2.so
+%endif
+%if %{with calendar}
%files calendar
%defattr(644,root,root,755)
%doc ext/calendar/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/calendar.ini
%attr(755,root,root) %{php_extensiondir}/calendar.so
+%endif
+%if %{with ctype}
%files ctype
%defattr(644,root,root,755)
%doc ext/calendar/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ctype.ini
%attr(755,root,root) %{php_extensiondir}/ctype.so
+%endif
%if %{with curl}
%files curl
%attr(755,root,root) %{php_extensiondir}/curl.so
%endif
+%if %{with dba}
%files dba
%defattr(644,root,root,755)
%doc ext/dba/{CREDITS,README}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dba.ini
%attr(755,root,root) %{php_extensiondir}/dba.so
+%endif
+%if %{with dom}
%files dom
%defattr(644,root,root,755)
%doc ext/dom/{CREDITS,TODO}
%doc ext/dom/examples
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dom.ini
%attr(755,root,root) %{php_extensiondir}/dom.so
+%endif
%if %{with enchant}
%files enchant
%attr(755,root,root) %{php_extensiondir}/enchant.so
%endif
+%if %{with exif}
%files exif
%defattr(644,root,root,755)
%doc ext/exif/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/exif.ini
%attr(755,root,root) %{php_extensiondir}/exif.so
+%endif
+%if %{with fileinfo}
%files fileinfo
%defattr(644,root,root,755)
%doc ext/fileinfo/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/fileinfo.ini
%attr(755,root,root) %{php_extensiondir}/fileinfo.so
+%endif
%if %{with filter}
%files filter
%attr(755,root,root) %{php_extensiondir}/filter.so
%endif
+%if %{with ftp}
%files ftp
%defattr(644,root,root,755)
%doc ext/ftp/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ftp.ini
%attr(755,root,root) %{php_extensiondir}/ftp.so
+%endif
+%if %{with gd}
%files gd
%defattr(644,root,root,755)
%doc ext/gd/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gd.ini
%attr(755,root,root) %{php_extensiondir}/gd.so
+%endif
+%if %{with gettext}
%files gettext
%defattr(644,root,root,755)
%doc ext/gettext/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gettext.ini
%attr(755,root,root) %{php_extensiondir}/gettext.so
+%endif
+%if %{with gmp}
%files gmp
%defattr(644,root,root,755)
%doc ext/gmp/{CREDITS,README,TODO}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/gmp.ini
%attr(755,root,root) %{php_extensiondir}/gmp.so
+%endif
+%if %{with hash}
%files hash
%defattr(644,root,root,755)
%doc ext/hash/{CREDITS,README}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/hash.ini
%attr(755,root,root) %{php_extensiondir}/hash.so
+%endif
+%if %{with iconv}
%files iconv
%defattr(644,root,root,755)
%doc ext/iconv/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/iconv.ini
%attr(755,root,root) %{php_extensiondir}/iconv.so
+%endif
%if %{with imap}
%files imap
%attr(755,root,root) %{php_extensiondir}/intl.so
%endif
+%if %{with json}
%files json
%defattr(644,root,root,755)
%doc ext/json/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/json.ini
%attr(755,root,root) %{php_extensiondir}/json.so
+%endif
%if %{with ldap}
%files ldap
%attr(755,root,root) %{php_extensiondir}/ldap.so
%endif
+%if %{with mbstring}
%files mbstring
%defattr(644,root,root,755)
%doc ext/mbstring/{CREDITS,README*}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mbstring.ini
%attr(755,root,root) %{php_extensiondir}/mbstring.so
+%endif
+%if %{with mcrypt}
%files mcrypt
%defattr(644,root,root,755)
%doc ext/mcrypt/{CREDITS,TODO}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mcrypt.ini
%attr(755,root,root) %{php_extensiondir}/mcrypt.so
-
-%if %{with mssql}
-%files mssql
-%defattr(644,root,root,755)
-%doc ext/mssql/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mssql.ini
-%attr(755,root,root) %{php_extensiondir}/mssql.so
%endif
-%files mysql
-%defattr(644,root,root,755)
-%doc ext/mysql/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mysql.ini
-%attr(755,root,root) %{php_extensiondir}/mysql.so
-
%if %{with mysqli}
%files mysqli
%defattr(644,root,root,755)
%attr(755,root,root) %{php_extensiondir}/openssl.so
%endif
+%if %{with pcntl}
%files pcntl
%defattr(644,root,root,755)
%doc ext/pcntl/{CREDITS,README}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pcntl.ini
%attr(755,root,root) %{php_extensiondir}/pcntl.so
+%endif
%if %{with pcre}
%files pcre
%attr(755,root,root) %{php_extensiondir}/pcre.so
%endif
+%if %{with pdo}
%files pdo
%defattr(644,root,root,755)
%doc ext/pdo/{CREDITS,README,TODO}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo.ini
%attr(755,root,root) %{php_extensiondir}/pdo.so
+%endif
-%if %{with mssql} || %{with sybase_ct}
+%if %{with pdo_dblib}
%files pdo-dblib
%defattr(644,root,root,755)
%doc ext/pdo_dblib/{CREDITS,README}
%attr(755,root,root) %{php_extensiondir}/pdo_firebird.so
%endif
+%if %{with pdo_mysql}
%files pdo-mysql
%defattr(644,root,root,755)
%doc ext/pdo_mysql/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_mysql.ini
%attr(755,root,root) %{php_extensiondir}/pdo_mysql.so
+%endif
%if %{with oci}
%files pdo-oci
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/phar.ini
%attr(755,root,root) %{php_extensiondir}/phar.so
%attr(755,root,root) %{_bindir}/phar
-%attr(755,root,root) %{_bindir}/phar.phar
+%attr(755,root,root) %{_bindir}/phar%{ver_suffix}.phar
%{_mandir}/man1/phar.1*
-%{_mandir}/man1/phar.phar.1
+%{_mandir}/man1/phar%{ver_suffix}.phar.1
%endif
+%if %{with posix}
%files posix
%defattr(644,root,root,755)
%doc ext/posix/CREDITS
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/posix.ini
%attr(755,root,root) %{php_extensiondir}/posix.so
+%endif
%if %{with pspell}
%files pspell
%attr(755,root,root) %{php_extensiondir}/pspell.so
%endif
+%if %{with readline}
%files readline
%defattr(644,root,root,755)
%doc ext/readline/{CREDITS,README*}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cli.d/readline.ini
%attr(755,root,root) %{php_extensiondir}/readline.so
+%endif
%if %{with recode}
%files recode
%attr(755,root,root) %{php_extensiondir}/recode.so
%endif
+%if %{with session}
%files session
%defattr(644,root,root,755)
%doc ext/session/CREDITS
%doc ext/session/mod_files.sh
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/Session.ini
%attr(755,root,root) %{php_extensiondir}/session.so
+%endif
%files shmop
%defattr(644,root,root,755)
%attr(755,root,root) %{php_extensiondir}/sqlite3.so
%endif
-%if %{with sybase_ct}
-%files sybase-ct
-%defattr(644,root,root,755)
-%doc ext/sybase_ct/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/sybase_ct.ini
-%attr(755,root,root) %{php_extensiondir}/sybase_ct.so
-%endif
-
%files sysvmsg
%defattr(644,root,root,755)
%doc ext/sysvmsg/CREDITS
#!/bin/sh
-# timezone_location_get: Test that timezone_location_get returns a correct array of information
-mv ext/date/tests/timezone_location_get.phpt{,.skip}
# DBA DB4 magic_quotes_runtime Test (info: DB4 handler used)
-mv ext/dba/tests/dba_db4_010.phpt{,.skip}
+#mv ext/dba/tests/dba_db4_010.phpt{,.skip}
# DBA TCADB handler test
mv ext/dba/tests/dba_tcadb.phpt{,.skip}
# enchant_broker_describe() function
$x86 && mv ext/enchant/tests/broker_request_dict.phpt{,.skip}
# bug #13181, leaving a context frees the broker resources
$x86 && mv ext/enchant/tests/bug13181.phpt{,.skip}
-# Test ereg() function : basic functionality (with $regs)
-mv ext/ereg/tests/ereg_basic_001.phpt{,.skip}
-# Test ereg() function : basic functionality (without $regs)
-mv ext/ereg/tests/ereg_basic_002.phpt{,.skip}
-# Test ereg() function : error conditions - test bad regular expressions
-mv ext/ereg/tests/ereg_error_002.phpt{,.skip}
-# Test ereg_replace() function : basic functionality
-mv ext/ereg/tests/ereg_replace_basic_001.phpt{,.skip}
-# Test ereg_replace() function : error conditions - bad regular expressions
-mv ext/ereg/tests/ereg_replace_error_002.phpt{,.skip}
-# Test ereg_replace() function : usage variations - unexpected type arg 1
-mv ext/ereg/tests/ereg_replace_variation_001.phpt{,.skip}
-# Test ereg() function : usage variations - unexpected type arg 1
-mv ext/ereg/tests/ereg_variation_001.phpt{,.skip}
-# Test eregi() function : basic functionality (with $regs)
-mv ext/ereg/tests/eregi_basic_001.phpt{,.skip}
-# Test eregi() function : basic functionality (without $regs)
-mv ext/ereg/tests/eregi_basic_002.phpt{,.skip}
-# Test eregi() function : error conditions - test bad regular expressions
-mv ext/ereg/tests/eregi_error_002.phpt{,.skip}
-# Test ereg() function : basic functionality
-mv ext/ereg/tests/eregi_replace_basic_001.phpt{,.skip}
-# Test eregi_replace() function : error conditions - bad regular expressions
-mv ext/ereg/tests/eregi_replace_error_002.phpt{,.skip}
-# Test eregi_replace() function : usage variations - unexpected type arg 1
-mv ext/ereg/tests/eregi_replace_variation_001.phpt{,.skip}
-# Test eregi() function : usage variations - unexpected type arg 1
-mv ext/ereg/tests/eregi_variation_001.phpt{,.skip}
-# Test split() function : basic functionality - test a number of simple split, specifying a limit
-mv ext/ereg/tests/split_basic_001.phpt{,.skip}
-# Test split() function : basic functionality - test a number of simple split, without specifying a limit
-mv ext/ereg/tests/split_basic_002.phpt{,.skip}
-# Test split() function : error conditions - test bad regular expressions
-mv ext/ereg/tests/split_error_002.phpt{,.skip}
-# Test split() function : usage variations - unexpected type for arg 1
-mv ext/ereg/tests/split_variation_001.phpt{,.skip}
-# Test spliti() function : basic functionality - test a number of simple spliti, specifying a limit
-mv ext/ereg/tests/spliti_basic_001.phpt{,.skip}
-# Test spliti() function : basic functionality - test a number of simple spliti, without specifying a limit
-mv ext/ereg/tests/spliti_basic_002.phpt{,.skip}
-# Test spliti() function : error conditions - test bad regular expressions
-mv ext/ereg/tests/spliti_error_002.phpt{,.skip}
-# Test spliti() function : usage variations - unexpected type for arg 1
-mv ext/ereg/tests/spliti_variation_001.phpt{,.skip}
# Bug #60150 (Integer overflow during the parsing of invalid exif header)
$ix86 mv ext/exif/tests/bug60150.phpt{,.skip}
# Bug #52209 (INPUT_ENV returns NULL for set variables (CLI))
mv ext/snmp/tests/snmpwalk.phpt{,.skip}
# SOAP Server 9: setclass and setpersistence(SOAP_PERSISTENCE_SESSION)
mv ext/soap/tests/server009.phpt{,.skip}
-# Multicast support: IPv4 receive options
-mv ext/sockets/tests/mcast_ipv4_recv.phpt{,.skip}
-# Multicast support: IPv6 receive options
-mv ext/sockets/tests/mcast_ipv6_recv.phpt{,.skip}
# socket_import_stream: Test with multicasting
mv ext/sockets/tests/socket_import_stream-3.phpt{,.skip}
# Test function getservbyname()
---- php-5.3.1/ext/spl/config.m4~ 2009-11-26 23:54:34.000000000 +0000
-+++ php-5.3.1/ext/spl/config.m4 2009-11-27 08:04:05.788823797 +0000
+--- php-7.0/ext/spl/config.m4~ 2015-05-21 17:57:06.000000000 +0300
++++ php-7.0/ext/spl/config.m4 2015-05-23 11:25:19.609715006 +0300
@@ -22,6 +22,6 @@
CPPFLAGS=$old_CPPFLAGS
AC_DEFINE_UNQUOTED(HAVE_PACKED_OBJECT_VALUE, $ac_result, [Whether struct _zend_object_value is packed])
AC_DEFINE(HAVE_SPL, 1, [Whether you want SPL (Standard PHP Library) support])
-- PHP_NEW_EXTENSION(spl, php_spl.c spl_functions.c spl_engine.c spl_iterators.c spl_array.c spl_directory.c spl_exceptions.c spl_observer.c spl_dllist.c spl_heap.c spl_fixedarray.c, no)
-+ PHP_NEW_EXTENSION(spl, php_spl.c spl_functions.c spl_engine.c spl_iterators.c spl_array.c spl_directory.c spl_exceptions.c spl_observer.c spl_dllist.c spl_heap.c spl_fixedarray.c, $ext_shared)
+- PHP_NEW_EXTENSION(spl, php_spl.c spl_functions.c spl_engine.c spl_iterators.c spl_array.c spl_directory.c spl_exceptions.c spl_observer.c spl_dllist.c spl_heap.c spl_fixedarray.c, no,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
++ PHP_NEW_EXTENSION(spl, php_spl.c spl_functions.c spl_engine.c spl_iterators.c spl_array.c spl_directory.c spl_exceptions.c spl_observer.c spl_dllist.c spl_heap.c spl_fixedarray.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_INSTALL_HEADERS([ext/spl], [php_spl.h spl_array.h spl_directory.h spl_engine.h spl_exceptions.h spl_functions.h spl_iterators.h spl_observer.h spl_dllist.h spl_heap.h spl_fixedarray.h])
PHP_ADD_EXTENSION_DEP(spl, pcre, true)
--- php-5.3.1/ext/spl/spl_iterators.c~ 2009-07-04 20:31:27.000000000 +0000