diff options
author | Remi Collet <remi@remirepo.net> | 2025-09-25 09:44:57 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2025-09-25 09:44:57 +0200 |
commit | 8c417f16dc08303619cc733c18e5275549223f83 (patch) | |
tree | 7ce5bcf16be66fc51284652f6390681e1df54fd2 | |
parent | de7a1948c5b2cab56eab29e55d803c58acd58161 (diff) |
bump ABI/API numbers to 20240925
drop opcache subpackage, extension is build statically
add lexbor and uri extension (always static)
move /usr/share/fpm/status.html to /usr/share/php/fpm/status.html
-rw-r--r-- | 10-opcache.ini | 14 | ||||
-rw-r--r-- | failed.txt | 28 | ||||
-rw-r--r-- | php-8.4.0-ldap_r.patch | 19 | ||||
-rw-r--r-- | php-8.5.0-embed.patch (renamed from php-8.4.6-embed.patch) | 13 | ||||
-rw-r--r-- | php-8.5.0-ldap_r.patch | 19 | ||||
-rw-r--r-- | php-8.5.0-openssl-ec-param.patch (renamed from php-8.3.0-openssl-ec-param.patch) | 30 | ||||
-rw-r--r-- | php-8.5.0-parser.patch (renamed from php-8.3.3-parser.patch) | 8 | ||||
-rw-r--r-- | php-8.5.0-systzdata-v24.patch (renamed from php-8.4.0-systzdata-v24.patch) | 26 | ||||
-rw-r--r-- | php.ini | 106 | ||||
-rw-r--r-- | php85.spec | 251 |
10 files changed, 264 insertions, 250 deletions
diff --git a/10-opcache.ini b/10-opcache.ini index b3d4e6e..252303a 100644 --- a/10-opcache.ini +++ b/10-opcache.ini @@ -1,6 +1,3 @@ -; Enable Zend OPcache extension module -zend_extension=opcache - ; Determines if Zend OPCache is enabled opcache.enable=1 @@ -54,8 +51,6 @@ opcache.enable_cli=1 ; passes ;opcache.optimization_level=0x7FFFBFFF -; This hack should only be enabled to work around "Cannot redeclare class" -; errors. ;opcache.dups_fix=0 ; The location of the OPcache blacklist file (wildcards allowed). @@ -99,6 +94,15 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist ; for php-fpm, see /etc/php-fpm.d/*conf ;opcache.file_cache= +; Enables or disables read-only mode for the second level cache directory. +; It should improve performance for read-only containers, +; when the cache is pre-warmed and packaged alongside the application. +; Best used with `opcache.validate_timestamps=0`, `opcache.enable_file_override=1` +; and `opcache.file_cache_consistency_checks=0`. +; Note: A cache generated with a different build of PHP, a different file path, +; or different settings (including which extensions are loaded), may be ignored. +;opcache.file_cache_read_only=0 + ; Enables or disables opcode caching in shared memory. ;opcache.file_cache_only=0 @@ -1,23 +1,21 @@ -===== 8.4.13 (2025-09-25) +===== 8.5.0RC1 (2025-09-25) $ grep -ar 'Tests failed' /var/lib/mock/*/build.log -/var/lib/mock/el8a84/build.log:Tests failed : 1 -/var/lib/mock/el8x84/build.log:Tests failed : 1 -/var/lib/mock/el9a84/build.log:Tests failed : 1 -/var/lib/mock/el9x84/build.log:Tests failed : 1 -/var/lib/mock/el10a84/build.log:Tests failed : 1 -/var/lib/mock/el10x84/build.log:Tests failed : 1 -/var/lib/mock/fc41a84/build.log:Tests failed : 1 -/var/lib/mock/fc41x84/build.log:Tests failed : 1 -/var/lib/mock/fc42a84/build.log:Tests failed : 1 -/var/lib/mock/fc42x84/build.log:Tests failed : 1 -/var/lib/mock/fc43a84/build.log:Tests failed : 1 -/var/lib/mock/fc43x84/build.log:Tests failed : 1 +/var/lib/mock/el8a85/build.log:Tests failed : 0 +/var/lib/mock/el8x85/build.log:Tests failed : 0 +/var/lib/mock/el9a85/build.log:Tests failed : 0 +/var/lib/mock/el9x85/build.log:Tests failed : 0 +/var/lib/mock/el10a85/build.log:Tests failed : 0 +/var/lib/mock/el10x85/build.log:Tests failed : 0 +/var/lib/mock/fc41a85/build.log:Tests failed : 0 +/var/lib/mock/fc41x85/build.log:Tests failed : 0 +/var/lib/mock/fc42a85/build.log:Tests failed : 0 +/var/lib/mock/fc42x85/build.log:Tests failed : 0 +/var/lib/mock/fc43a85/build.log:Tests failed : 0 +/var/lib/mock/fc43x85/build.log:Tests failed : 0 -all - 2 sapi/cli/tests/php_cli_server_ipv4_error_message.phpt 1 proc_open give erratic test results :( diff --git a/php-8.4.0-ldap_r.patch b/php-8.4.0-ldap_r.patch deleted file mode 100644 index a574751..0000000 --- a/php-8.4.0-ldap_r.patch +++ /dev/null @@ -1,19 +0,0 @@ - -Use -lldap_r by default. - -diff -up php-8.4.0beta1/ext/ldap/config.m4.ldap_r php-8.4.0beta1/ext/ldap/config.m4 ---- php-8.4.0beta1/ext/ldap/config.m4.ldap_r 2024-08-13 15:48:12.000000000 +0200 -+++ php-8.4.0beta1/ext/ldap/config.m4 2024-08-13 16:23:24.744311776 +0200 -@@ -72,7 +72,11 @@ if test "$PHP_LDAP" != "no"; then - AH_TEMPLATE([HAVE_ORALDAP], - [Define to 1 if the ldap extension uses the Oracle Instant Client.]) - -- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then -+ if test -f $LDAP_LIBDIR/libldap_r.$SHLIB_SUFFIX_NAME; then -+ PHP_ADD_LIBRARY_WITH_PATH(lber, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) -+ PHP_ADD_LIBRARY_WITH_PATH(ldap_r, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) -+ -+ elif test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then - PHP_ADD_LIBRARY_WITH_PATH([lber], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) - PHP_ADD_LIBRARY_WITH_PATH([ldap], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) - diff --git a/php-8.4.6-embed.patch b/php-8.5.0-embed.patch index 829a535..8df4a81 100644 --- a/php-8.4.6-embed.patch +++ b/php-8.5.0-embed.patch @@ -28,16 +28,3 @@ diff -up ./scripts/php-config.in.embed ./scripts/php-config.in ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@" ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@" php_embed_type="@PHP_EMBED_TYPE@" -diff --git a/configure.ac b/configure.ac -index 6dc1e45b34f..895c5153a2d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1306,7 +1306,7 @@ AS_VAR_IF([program_suffix], [NONE], [program_suffix=]) - - orig_libdir=$libdir - AS_CASE([$libdir], -- ['${exec_prefix}/lib'], [libdir=$libdir/php]) -+ [${prefix}/${PHP_LIBDIR}], [libdir=$libdir/php]) - - AS_CASE([$(eval echo $datadir)], - ['${prefix}/share'], [datadir=$datadir/php]) diff --git a/php-8.5.0-ldap_r.patch b/php-8.5.0-ldap_r.patch new file mode 100644 index 0000000..9a9887e --- /dev/null +++ b/php-8.5.0-ldap_r.patch @@ -0,0 +1,19 @@ + +Use -lldap_r by default. + +diff -up ./ext/ldap/config.m4.ldap_r ./ext/ldap/config.m4 +--- ./ext/ldap/config.m4.ldap_r 2025-06-30 15:52:59.464676379 +0200 ++++ ./ext/ldap/config.m4 2025-06-30 15:53:57.499266397 +0200 +@@ -76,7 +76,11 @@ if test "$PHP_LDAP" != "no"; then + AH_TEMPLATE([HAVE_ORALDAP], + [Define to 1 if the ldap extension uses the Oracle Instant Client.]) + +- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then ++ if test -f $LDAP_LIBDIR/libldap_r.$SHLIB_SUFFIX_NAME; then ++ PHP_ADD_LIBRARY_WITH_PATH(lber, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) ++ PHP_ADD_LIBRARY_WITH_PATH(ldap_r, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) ++ ++ elif test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then + PHP_ADD_LIBRARY_WITH_PATH([lber], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) + PHP_ADD_LIBRARY_WITH_PATH([ldap], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) + diff --git a/php-8.3.0-openssl-ec-param.patch b/php-8.5.0-openssl-ec-param.patch index 94e4037..223d34e 100644 --- a/php-8.3.0-openssl-ec-param.patch +++ b/php-8.5.0-openssl-ec-param.patch @@ -1,19 +1,7 @@ -From 21f9d16e130b412b6839494dcf30a2f1d7dcee0f Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Mon, 24 Jul 2023 10:54:49 +0200 -Subject: [PATCH] Always warn about missing curve_name - -Both Fedora and RHEL do not support arbitrary EC parameters -See https://bugzilla.redhat.com/2223953 ---- - ext/openssl/openssl.c | 13 ++----------- - 1 file changed, 2 insertions(+), 11 deletions(-) - -diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c -index 33f51bfa4d..340b0467d3 100644 ---- a/ext/openssl/openssl.c -+++ b/ext/openssl/openssl.c -@@ -4299,13 +4299,8 @@ static bool php_openssl_pkey_init_legacy_ec(EC_KEY *eckey, zval *data, bool *is_ +diff -up ./ext/openssl/openssl_backend_v1.c.ec-param ./ext/openssl/openssl_backend_v1.c +--- ./ext/openssl/openssl_backend_v1.c.ec-param 2025-06-30 15:57:32.345876147 +0200 ++++ ./ext/openssl/openssl_backend_v1.c 2025-06-30 15:59:43.380395611 +0200 +@@ -256,13 +256,8 @@ static bool php_openssl_pkey_init_ec_dat OPENSSL_PKEY_SET_BN(data, b); OPENSSL_PKEY_SET_BN(data, order); @@ -28,11 +16,14 @@ index 33f51bfa4d..340b0467d3 100644 goto clean_exit; } -@@ -4455,12 +4450,8 @@ static EVP_PKEY *php_openssl_pkey_init_ec(zval *data, bool *is_private) { +diff -up ./ext/openssl/openssl_backend_v3.c.ec-param ./ext/openssl/openssl_backend_v3.c +--- ./ext/openssl/openssl_backend_v3.c.ec-param 2025-06-30 15:57:38.753560492 +0200 ++++ ./ext/openssl/openssl_backend_v3.c 2025-06-30 16:01:02.221616267 +0200 +@@ -312,12 +312,8 @@ EVP_PKEY *php_openssl_pkey_init_ec(zval OPENSSL_PKEY_SET_BN(data, b); OPENSSL_PKEY_SET_BN(data, order); -+ php_error_docref(NULL, E_WARNING, "Missing params: curve_name"); ++ php_error_docref(NULL, E_WARNING, "Missing params: curve_name (params only is not supported by OpenSSL)"); if (!(p && a && b && order)) { - if (!p && !a && !b && !order) { - php_error_docref(NULL, E_WARNING, "Missing params: curve_name"); @@ -42,6 +33,3 @@ index 33f51bfa4d..340b0467d3 100644 goto cleanup; } --- -2.41.0 - diff --git a/php-8.3.3-parser.patch b/php-8.5.0-parser.patch index 49f7d5e..d103ff0 100644 --- a/php-8.3.3-parser.patch +++ b/php-8.5.0-parser.patch @@ -1,7 +1,7 @@ diff -up ./build/gen_stub.php.syslib ./build/gen_stub.php ---- ./build/gen_stub.php.syslib 2020-06-25 08:11:51.782046813 +0200 -+++ ./build/gen_stub.php 2020-06-25 08:13:11.188860368 +0200 -@@ -3265,6 +3265,12 @@ function initPhpParser() { +--- ./build/gen_stub.php.syslib 2025-06-30 12:31:27.000000000 +0200 ++++ ./build/gen_stub.php 2025-06-30 15:49:00.751144274 +0200 +@@ -6082,6 +6082,12 @@ function initPhpParser() { } $isInitialized = true; @@ -11,6 +11,6 @@ diff -up ./build/gen_stub.php.syslib ./build/gen_stub.php + return; + } + - $version = "5.0.0"; + $version = "5.6.1"; $phpParserDir = __DIR__ . "/PHP-Parser-$version"; if (!is_dir($phpParserDir)) { diff --git a/php-8.4.0-systzdata-v24.patch b/php-8.5.0-systzdata-v24.patch index 6176a8b..75a73d3 100644 --- a/php-8.4.0-systzdata-v24.patch +++ b/php-8.5.0-systzdata-v24.patch @@ -37,11 +37,11 @@ r1: initial revision diff -up ./ext/date/config0.m4.systzdata ./ext/date/config0.m4 ---- ./ext/date/config0.m4.systzdata 2024-07-03 16:21:20.240786848 +0200 -+++ ./ext/date/config0.m4 2024-07-03 16:25:14.838995464 +0200 -@@ -8,6 +8,18 @@ - [PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -Wno-implicit-fallthrough"],, - [-Werror]) +--- ./ext/date/config0.m4.systzdata 2025-06-30 15:46:30.352141304 +0200 ++++ ./ext/date/config0.m4 2025-06-30 15:47:33.855594597 +0200 +@@ -7,6 +7,18 @@ + AX_CHECK_COMPILE_FLAG([-Wno-implicit-fallthrough], + [PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -Wno-implicit-fallthrough"]) +PHP_ARG_WITH(system-tzdata, for use of system timezone data, + [AS_HELP_STRING([--with-system-tzdata[=DIR]],[to specify use of system timezone data])], no, no) @@ -55,12 +55,12 @@ diff -up ./ext/date/config0.m4.systzdata ./ext/date/config0.m4 + fi +fi + - PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1" - timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c lib/parse_posix.c - lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c" + PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -DHAVE_TIMELIB_CONFIG_H=1" + PHP_TIMELIB_CFLAGS="$PHP_DATE_CFLAGS" + PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c ---- ./ext/date/lib/parse_tz.c.systzdata 2024-07-02 15:43:13.000000000 +0200 -+++ ./ext/date/lib/parse_tz.c 2024-07-03 16:21:20.240786848 +0200 +--- ./ext/date/lib/parse_tz.c.systzdata 2025-06-30 12:31:27.000000000 +0200 ++++ ./ext/date/lib/parse_tz.c 2025-06-30 15:46:30.352327539 +0200 @@ -26,9 +26,33 @@ #include "timelib.h" #include "timelib_private.h" @@ -726,9 +726,9 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c *error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE; tmp = NULL; diff -up ./ext/date/php_date.c.systzdata ./ext/date/php_date.c ---- ./ext/date/php_date.c.systzdata 2024-07-02 15:43:13.000000000 +0200 -+++ ./ext/date/php_date.c 2024-07-03 16:21:20.240786848 +0200 -@@ -487,7 +487,11 @@ PHP_MINFO_FUNCTION(date) +--- ./ext/date/php_date.c.systzdata 2025-06-30 12:31:27.000000000 +0200 ++++ ./ext/date/php_date.c 2025-06-30 15:46:30.352655217 +0200 +@@ -491,7 +491,11 @@ PHP_MINFO_FUNCTION(date) php_info_print_table_row(2, "date/time support", "enabled"); php_info_print_table_row(2, "timelib version", TIMELIB_ASCII_VERSION); php_info_print_table_row(2, "\"Olson\" Timezone Database Version", tzdb->version); @@ -107,7 +107,7 @@ ; error_reporting ; Default Value: E_ALL ; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED ; log_errors ; Default Value: Off @@ -119,16 +119,16 @@ ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) +; mysqlnd.collect_memory_statistics +; Default Value: Off +; Development Value: On +; Production Value: Off + ; output_buffering ; Default Value: Off ; Development Value: 4096 ; Production Value: 4096 -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - ; request_order ; Default Value: None ; Development Value: "GP" @@ -322,11 +322,6 @@ serialize_precision = -1 ; https://php.net/disable-functions disable_functions = -; This directive allows you to disable certain classes. -; It receives a comma-delimited list of class names. -; https://php.net/disable-classes -disable_classes = - ; Colors for Syntax Highlighting mode. Anything that's acceptable in ; <span style="color: ???????"> would work. ; https://php.net/syntax-highlighting @@ -433,6 +428,7 @@ max_input_time = 60 ; Maximum amount of memory a script may consume ; https://php.net/memory-limit memory_limit = 128M +max_memory_limit = -1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; @@ -444,7 +440,7 @@ memory_limit = 128M ; operators. The error level constants are below here for convenience as well as ; some common settings and their meanings. ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and +; those related to E_NOTICE, which together cover best practices and ; recommended coding standards in PHP. For performance reasons, this is the ; recommend error reporting setting. Your production server shouldn't be wasting ; resources complaining about best practices and coding standards. That's what @@ -464,9 +460,6 @@ memory_limit = 128M ; intentional (e.g., using an uninitialized variable and ; relying on the fact it is automatically initialized to an ; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's ; initial startup @@ -482,13 +475,12 @@ memory_limit = 128M ; Common Values: ; E_ALL (Show all errors, warnings and notices including coding standards.) ; E_ALL & ~E_NOTICE (Show all errors, except for notices) -; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) ; Default Value: E_ALL ; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED ; https://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT +error_reporting = E_ALL & ~E_DEPRECATED ; This directive controls whether or not and where PHP will output errors, ; notices and warnings too. Error output is very useful during development, but @@ -537,12 +529,6 @@ ignore_repeated_errors = Off ; https://php.net/ignore-repeated-source ignore_repeated_source = Off -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This is only effective in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; https://php.net/report-memleaks -report_memleaks = On - ; This setting is off by default. ;report_zend_debug = 0 @@ -621,6 +607,12 @@ report_memleaks = On ; Development value: 0 ; Production value: 0 +; This directive controls whether PHP will output the backtrace of fatal errors. +; Default Value: On +; Development Value: On +; Production Value: On +;fatal_error_backtraces = On + ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; @@ -670,14 +662,12 @@ request_order = "GP" ; that were passed when the script was invoked. These arrays are extremely ; useful when running scripts from the command line. When this directive is ; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off +; a script is executed. For security reasons, this feature should be disabled +; for non-CLI SAPIs. +; Note: This directive is ignored for the CLI SAPI +; This directive is deprecated. ; https://php.net/register-argc-argv -register_argc_argv = Off +;register_argc_argv = Off ; When enabled, the ENV, REQUEST and SERVER variables are created when they're ; first used (Just In Time) instead of when the script starts. If these @@ -818,6 +808,12 @@ enable_dl = Off ; https://php.net/fastcgi.impersonate ;fastcgi.impersonate = 1 +; Prevent decoding of SCRIPT_FILENAME when using Apache ProxyPass or +; ProxyPassMatch. This should only be used if script file paths are already +; stored in an encoded format on the file system. +; Default is 0. +;fastcgi.script_path_encoded = 1 + ; Disable logging through FastCGI connection. PHP's default behavior is to enable ; this feature. ;fastcgi.logging = 0 @@ -968,20 +964,17 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = -[imap] -; rsh/ssh logins are disabled by default. Use this INI entry if you want to -; enable them. Note that the IMAP library does not filter mailbox names before -; passing them to rsh/ssh command, thus passing untrusted data to this function -; with rsh/ssh enabled is insecure. -;imap.enable_insecure_rsh=0 - [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error ; happens within intl functions. The value is the level of the error produced. ; Default is 0, which does not produce any errors. +; This directive is deprecated. ;intl.error_level = E_WARNING -;intl.use_exceptions = 0 +; If enabled this directive indicates that when an error occurs within an +; intl function a IntlException should be thrown. +; Default is Off, which means errors need to be handled manually. +;intl.use_exceptions = On [sqlite3] ; Directory pointing to SQLite3 extensions @@ -1049,6 +1042,14 @@ mail.add_x_header = Off ; RFC 2822 non conformant MTA. mail.mixed_lf_and_crlf = Off +; Control line ending mode for mail messages and headers. +; Possible values: "crlf" (default), "lf", "mixed", "os" +; - crlf: Use CRLF line endings +; - lf: Use LF line endings only (converts CRLF in message to LF) +; - mixed: Same as mail.mixed_lf_and_crlf = On +; - os: Use CRLF on Windows, LF on other systems +mail.cr_lf_mode = crlf + ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. ;mail.log = @@ -1118,10 +1119,7 @@ mysqli.allow_persistent = On ; https://php.net/mysqli.max-links mysqli.max_links = -1 -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. +; Default port number for mysqli_connect(). ; https://php.net/mysqli.default-port mysqli.default_port = 3306 @@ -1130,15 +1128,15 @@ mysqli.default_port = 3306 ; https://php.net/mysqli.default-socket mysqli.default_socket = -; Default host for mysqli_connect() (doesn't apply in safe mode). +; Default host for mysqli_connect(). ; https://php.net/mysqli.default-host mysqli.default_host = -; Default user for mysqli_connect() (doesn't apply in safe mode). +; Default user for mysqli_connect(). ; https://php.net/mysqli.default-user mysqli.default_user = -; Default password for mysqli_connect() (doesn't apply in safe mode). +; Default password for mysqli_connect(). ; Note that this is generally a *bad* idea to store passwords in this file. ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") ; and reveal this password! And of course, any users with read access to this @@ -1158,6 +1156,9 @@ mysqlnd.collect_statistics = On ; Enable / Disable collection of memory usage statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. +; Default Value: Off +; Development Value: On +; Production Value: Off mysqlnd.collect_memory_statistics = Off ; Records communication from all extensions using mysqlnd to the specified log @@ -1276,6 +1277,9 @@ session.use_cookies = 1 ; https://php.net/session.cookie-secure ;session.cookie_secure = +; https://php.net/session.cookie-partitioned +;session.cookie_partitioned = 0 + ; This option forces PHP to fetch and use a cookie for storing and maintaining ; the session id. We encourage this operation as it's very helpful in combating ; session hijacking when not specifying and managing your own session id. It is @@ -1541,7 +1545,7 @@ zend.assertions = -1 ; With mbstring support this will automatically be converted into the encoding ; given by corresponding encode setting. When empty mbstring.internal_encoding ; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. +; intel byte order. A decode setting must not be empty. ; https://php.net/exif.encode-unicode ;exif.encode_unicode = ISO-8859-15 @@ -1629,5 +1633,13 @@ ldap.max_links = -1 ; SSL stream context option. ;openssl.capath= +; The libctx is an OpenSSL library context. OpenSSL defines a default library +; context, but PHP OpenSSL also defines its own library context to avoid +; interference with other libraries using OpenSSL and to provide an independent +; context for each thread in ZTS. Possible values: +; "custom" - use a custom library context (default) +; "default" - use the default OpenSSL library context +;openssl.libctx=custom + [ffi] ; see /etc/php.d/20-ffi.ini @@ -8,8 +8,8 @@ # Please preserve changelog entries # # API/ABI check -%global apiver 20240924 -%global zendver 20240924 +%global apiver 20250925 +%global zendver 20250925 %global pdover 20240423 # Extension version %global fileinfover 1.0.5 @@ -19,7 +19,7 @@ %global _hardened_build 1 # version used for php embedded library soname -%global embed_version 8.4 +%global embed_version 8.5 %global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) @@ -64,6 +64,13 @@ %else %bcond_with openssl32 %endif +%if 0%{?fedora} >= 44 +# liburiparser version 0.9.9 required +%bcond_without liburiparser +%else +# use bundled library instead +%bcond_with liburiparser +%endif # /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4 %{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}} @@ -80,8 +87,8 @@ %bcond_without libgd %bcond_with zip -%global upver 8.4.13 -#global rcver RC1 +%global upver 8.5.0 +%global rcver RC1 # TODO set PHP_EXTRA_VERSION for EOL version Summary: PHP scripting language for creating dynamic web sites @@ -121,19 +128,19 @@ Source53: 20-ffi.ini # Build fixes Patch1: php-8.4.0-httpd.patch Patch5: php-8.4.0-includedir.patch -Patch6: php-8.4.6-embed.patch +Patch6: php-8.5.0-embed.patch Patch8: php-8.4.0-libdb.patch # Functional changes # Use system nikic/php-parser -Patch41: php-8.3.3-parser.patch +Patch41: php-8.5.0-parser.patch # use system tzdata -Patch42: php-8.4.0-systzdata-v24.patch +Patch42: php-8.5.0-systzdata-v24.patch # See http://bugs.php.net/53436 # + display PHP version backported from 8.4 Patch43: php-8.4.0-phpize.patch # Use -lldap_r for OpenLDAP -Patch45: php-8.4.0-ldap_r.patch +Patch45: php-8.5.0-ldap_r.patch # Ignore unsupported "threads" option on password_hash Patch46: php-8.0.7-argon2.patch # drop "Configure command" from phpinfo output @@ -141,7 +148,7 @@ Patch46: php-8.0.7-argon2.patch Patch47: php-8.4.0-phpinfo.patch # Always warn about missing curve_name # Both Fedora and RHEL do not support arbitrary EC parameters -Patch48: php-8.3.0-openssl-ec-param.patch +Patch48: php-8.5.0-openssl-ec-param.patch # RC Patch @@ -180,6 +187,7 @@ BuildRequires: pkgconfig(libpcre2-8) >= 10.30 %else Provides: bundled(pcre2) = 10.40 %endif +BuildRequires: pkgconfig(capstone) >= 3.0 %if %{with libxcrypt} BuildRequires: pkgconfig(libxcrypt) %endif @@ -198,6 +206,11 @@ BuildRequires: %{?dtsprefix}systemtap-sdt-devel BuildRequires: %{?dtsprefix}systemtap-sdt-dtrace %endif %endif +%if %{with liburiparser} +BuildRequires: pkgconfig(liburiparser) >= 0.9.9 +%else +Provides: bundled(liburiparser) = 0.9.9 +%endif #BuildRequires: bison #BuildRequires: re2c >= 1.0.3 # used for tests @@ -225,15 +238,15 @@ Recommends: php-cli%{?_isa} = %{version}-%{release} Recommends: php-fpm%{?_isa} = %{version}-%{release} # as "php" is now mostly a meta-package, commonly used extensions Recommends: php-mbstring%{?_isa} = %{version}-%{release} -Recommends: php-opcache%{?_isa} = %{version}-%{release} Recommends: php-pdo%{?_isa} = %{version}-%{release} Recommends: php-sodium%{?_isa} = %{version}-%{release} Recommends: php-xml%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4 < %{version}-%{release} -Provides: php8.4 = %{version}-%{release} -Provides: php8.4%{?_isa} = %{version}-%{release} +Obsoletes: php8.5 < %{version}-%{release} +Provides: php8.5 = %{version}-%{release} +Provides: php8.5%{?_isa} = %{version}-%{release} %endif @@ -258,8 +271,9 @@ Provides: php-pcntl, php-pcntl%{?_isa} Provides: php-readline, php-readline%{?_isa} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-cli < %{version}-%{release} -Provides: php8.4-cli = %{version}-%{release} -Provides: php8.4-cli%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-cli < %{version}-%{release} +Provides: php8.5-cli = %{version}-%{release} +Provides: php8.5-cli%{?_isa} = %{version}-%{release} %endif %description cli @@ -272,8 +286,9 @@ Summary: The interactive PHP debugger Requires: php-common%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-dbg < %{version}-%{release} -Provides: php8.4-dbg = %{version}-%{release} -Provides: php8.4-dbg%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-dbg < %{version}-%{release} +Provides: php8.5-dbg = %{version}-%{release} +Provides: php8.5-dbg%{?_isa} = %{version}-%{release} %endif %description dbg @@ -303,8 +318,9 @@ Provides: php(httpd) Recommends: nginx-filesystem %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-fpm < %{version}-%{release} -Provides: php8.4-fpm = %{version}-%{release} -Provides: php8.4-fpm%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-fpm < %{version}-%{release} +Provides: php8.5-fpm = %{version}-%{release} +Provides: php8.5-fpm%{?_isa} = %{version}-%{release} %endif %description fpm @@ -318,8 +334,9 @@ Summary: LiteSpeed Web Server PHP support Requires: php-common%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-litespeed < %{version}-%{release} -Provides: php8.4-litespeed = %{version}-%{release} -Provides: php8.4-litespeed%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-litespeed < %{version}-%{release} +Provides: php8.5-litespeed = %{version}-%{release} +Provides: php8.5-litespeed%{?_isa} = %{version}-%{release} %endif %description litespeed @@ -361,6 +378,7 @@ Provides: php-filter, php-filter%{?_isa} Provides: php-ftp, php-ftp%{?_isa} Provides: php-gettext, php-gettext%{?_isa} Provides: php-hash, php-hash%{?_isa} +Provides: php-lexbor, php-lexbor%{?_isa} Provides: php-mhash = %{version}, php-mhash%{?_isa} = %{version} Provides: php-iconv, php-iconv%{?_isa} Obsoletes: php-json < 8 @@ -368,6 +386,8 @@ Obsoletes: php-pecl-json < 8 Obsoletes: php-pecl-jsonc < 8 Provides: php-json = %{upver}, php-json%{?_isa} = %{upver} Provides: php-libxml, php-libxml%{?_isa} +Obsoletes: php-opcache < 8.5.0 +Provides: php-opcache = %{upver}, php-opcache%{?_isa} = %{upver} Provides: php-openssl, php-openssl%{?_isa} Provides: php-phar, php-phar%{?_isa} Provides: php-pcre, php-pcre%{?_isa} @@ -378,6 +398,7 @@ Provides: php-sockets, php-sockets%{?_isa} Provides: php-spl, php-spl%{?_isa} Provides: php-standard = %{version}, php-standard%{?_isa} = %{version} Provides: php-tokenizer, php-tokenizer%{?_isa} +Provides: php-uri, php-uri%{?_isa} Provides: php-zlib, php-zlib%{?_isa} Obsoletes: php-pecl-phar < 1.2.4 @@ -387,8 +408,9 @@ Provides: php-pecl(Fileinfo) = %{fileinfover}, php-pecl(Fileinfo)%{?_isa} = %{f Obsoletes: php-mhash < 5.3.0 %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-common < %{version}-%{release} -Provides: php8.4-common = %{version}-%{release} -Provides: php8.4-common%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-common < %{version}-%{release} +Provides: php8.5-common = %{version}-%{release} +Provides: php8.5-common%{?_isa} = %{version}-%{release} %endif %description common @@ -419,11 +441,13 @@ Obsoletes: php-pecl-jsonc-devel < %{version} Provides: php-zts-devel = %{version}-%{release} Provides: php-zts-devel%{?_isa} = %{version}-%{release} %endif -Recommends: php-nikic-php-parser5 >= 5.0.0 +Recommends: php-nikic-php-parser5 >= 5.6.1 +Conflicts: php-nikic-php-parser5 < 5.6.1 %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-devel < %{version}-%{release} -Provides: php8.4-devel = %{version}-%{release} -Provides: php8.4-devel%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-devel < %{version}-%{release} +Provides: php8.5-devel = %{version}-%{release} +Provides: php8.5-devel%{?_isa} = %{version}-%{release} %endif %description devel @@ -431,29 +455,6 @@ The php-devel package contains the files needed for building PHP extensions. If you need to compile your own PHP extensions, you will need to install this package. -%package opcache -Summary: The Zend OPcache -License: PHP-3.01 -BuildRequires: pkgconfig(capstone) >= 3.0 -Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php-pecl-zendopcache < 7.0.6 -Provides: php-pecl-zendopcache = %{version} -Provides: php-pecl-zendopcache%{?_isa} = %{version} -Provides: php-pecl(opcache) = %{version} -Provides: php-pecl(opcache)%{?_isa} = %{version} -%if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" -Obsoletes: php8.4-opcache < %{version}-%{release} -Provides: php8.4-opcache = %{version}-%{release} -Provides: php8.4-opcache%{?_isa} = %{version}-%{release} -%endif - -%description opcache -The Zend OPcache provides faster PHP execution through opcode caching and -optimization. It improves PHP performance by storing precompiled script -bytecode in the shared memory. This eliminates the stages of reading code from -the disk and compiling it on future access. In addition, it applies a few -bytecode optimization patterns that make code execution faster. - %package ldap Summary: A module for PHP applications that use LDAP # All files licensed under PHP version 3.01 @@ -464,8 +465,9 @@ BuildRequires: openldap-devel BuildRequires: openssl-devel >= 1.0.2 %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-ldap < %{version}-%{release} -Provides: php8.4-ldap = %{version}-%{release} -Provides: php8.4-ldap%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-ldap < %{version}-%{release} +Provides: php8.5-ldap = %{version}-%{release} +Provides: php8.5-ldap%{?_isa} = %{version}-%{release} %endif %description ldap @@ -486,8 +488,9 @@ Provides: php-sqlite3, php-sqlite3%{?_isa} Provides: php-pdo_sqlite, php-pdo_sqlite%{?_isa} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-pdo < %{version}-%{release} -Provides: php8.4-pdo = %{version}-%{release} -Provides: php8.4-pdo%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-pdo < %{version}-%{release} +Provides: php8.5-pdo = %{version}-%{release} +Provides: php8.5-pdo%{?_isa} = %{version}-%{release} %endif %description pdo @@ -508,8 +511,9 @@ Provides: php-pdo_mysql, php-pdo_mysql%{?_isa} Obsoletes: php-mysql < %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-mysqlnd < %{version}-%{release} -Provides: php8.4-mysqlnd = %{version}-%{release} -Provides: php8.4-mysqlnd%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-mysqlnd < %{version}-%{release} +Provides: php8.5-mysqlnd = %{version}-%{release} +Provides: php8.5-mysqlnd%{?_isa} = %{version}-%{release} %endif %description mysqlnd @@ -533,8 +537,9 @@ BuildRequires: openssl-devel >= 1.0.2 BuildRequires: postgresql-devel %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-pgsql < %{version}-%{release} -Provides: php8.4-pgsql = %{version}-%{release} -Provides: php8.4-pgsql%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-pgsql < %{version}-%{release} +Provides: php8.5-pgsql = %{version}-%{release} +Provides: php8.5-pgsql%{?_isa} = %{version}-%{release} %endif %description pgsql @@ -557,8 +562,9 @@ Provides: php-sysvshm, php-sysvshm%{?_isa} Provides: php-sysvmsg, php-sysvmsg%{?_isa} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-process < %{version}-%{release} -Provides: php8.4-process = %{version}-%{release} -Provides: php8.4-process%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-process < %{version}-%{release} +Provides: php8.5-process = %{version}-%{release} +Provides: php8.5-process%{?_isa} = %{version}-%{release} %endif %description process @@ -581,8 +587,9 @@ BuildRequires: pkgconfig(odbc) %endif %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-odbc < %{version}-%{release} -Provides: php8.4-odbc = %{version}-%{release} -Provides: php8.4-odbc%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-odbc < %{version}-%{release} +Provides: php8.5-odbc = %{version}-%{release} +Provides: php8.5-odbc%{?_isa} = %{version}-%{release} %endif %description odbc @@ -605,8 +612,9 @@ Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: pkgconfig(libxml-2.0) %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-soap < %{version}-%{release} -Provides: php8.4-soap = %{version}-%{release} -Provides: php8.4-soap%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-soap < %{version}-%{release} +Provides: php8.5-soap = %{version}-%{release} +Provides: php8.5-soap%{?_isa} = %{version}-%{release} %endif %description soap @@ -624,8 +632,9 @@ Provides: php_database Provides: php-pdo_firebird, php-pdo_firebird%{?_isa} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-pdo-firebird < %{version}-%{release} -Provides: php8.4-pdo-firebird = %{version}-%{release} -Provides: php8.4-pdo-firebird%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-pdo-firebird < %{version}-%{release} +Provides: php8.5-pdo-firebird = %{version}-%{release} +Provides: php8.5-pdo-firebird%{?_isa} = %{version}-%{release} %endif %description pdo-firebird @@ -641,8 +650,9 @@ Requires: php-common%{?_isa} = %{version}-%{release}, net-snmp BuildRequires: net-snmp-devel %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-snmp < %{version}-%{release} -Provides: php8.4-snmp = %{version}-%{release} -Provides: php8.4-snmp%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-snmp < %{version}-%{release} +Provides: php8.5-snmp = %{version}-%{release} +Provides: php8.5-snmp%{?_isa} = %{version}-%{release} %endif %description snmp @@ -667,8 +677,9 @@ BuildRequires: pkgconfig(libexslt) BuildRequires: pkgconfig(libxml-2.0) >= 2.7.6 %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-xml < %{version}-%{release} -Provides: php8.4-xml = %{version}-%{release} -Provides: php8.4-xml%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-xml < %{version}-%{release} +Provides: php8.5-xml = %{version}-%{release} +Provides: php8.5-xml%{?_isa} = %{version}-%{release} %endif %description xml @@ -692,8 +703,9 @@ Provides: bundled(libmbfl) = 1.3.2 Requires: php-common%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-mbstring < %{version}-%{release} -Provides: php8.4-mbstring = %{version}-%{release} -Provides: php8.4-mbstring%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-mbstring < %{version}-%{release} +Provides: php8.5-mbstring = %{version}-%{release} +Provides: php8.5-mbstring%{?_isa} = %{version}-%{release} %endif %description mbstring @@ -729,8 +741,9 @@ Provides: bundled(gd) = 2.0.35 %endif %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-gd < %{version}-%{release} -Provides: php8.4-gd = %{version}-%{release} -Provides: php8.4-gd%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-gd < %{version}-%{release} +Provides: php8.5-gd = %{version}-%{release} +Provides: php8.5-gd%{?_isa} = %{version}-%{release} %endif %description gd @@ -746,8 +759,9 @@ Requires: php-common%{?_isa} = %{version}-%{release} Provides: bundled(libbcmath) %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-bcmath < %{version}-%{release} -Provides: php8.4-bcmath = %{version}-%{release} -Provides: php8.4-bcmath%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-bcmath < %{version}-%{release} +Provides: php8.5-bcmath = %{version}-%{release} +Provides: php8.5-bcmath%{?_isa} = %{version}-%{release} %endif %description bcmath @@ -762,8 +776,9 @@ BuildRequires: gmp-devel Requires: php-common%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-gmp < %{version}-%{release} -Provides: php8.4-gmp = %{version}-%{release} -Provides: php8.4-gmp%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-gmp < %{version}-%{release} +Provides: php8.5-gmp = %{version}-%{release} +Provides: php8.5-gmp%{?_isa} = %{version}-%{release} %endif %description gmp @@ -783,8 +798,9 @@ BuildRequires: qdbm-devel Requires: php-common%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-dba < %{version}-%{release} -Provides: php8.4-dba = %{version}-%{release} -Provides: php8.4-dba%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-dba < %{version}-%{release} +Provides: php8.5-dba = %{version}-%{release} +Provides: php8.5-dba%{?_isa} = %{version}-%{release} %endif %description dba @@ -799,8 +815,9 @@ Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: libtidy-devel %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-tidy < %{version}-%{release} -Provides: php8.4-tidy = %{version}-%{release} -Provides: php8.4-tidy%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-tidy < %{version}-%{release} +Provides: php8.5-tidy = %{version}-%{release} +Provides: php8.5-tidy%{?_isa} = %{version}-%{release} %endif %description tidy @@ -817,8 +834,9 @@ Provides: php-pdo_dblib, php-pdo_dblib%{?_isa} Obsoletes: php-mssql < %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-pdo-dblib < %{version}-%{release} -Provides: php8.4-pdo-dblib = %{version}-%{release} -Provides: php8.4-pdo-dblib%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-pdo-dblib < %{version}-%{release} +Provides: php8.5-pdo-dblib = %{version}-%{release} +Provides: php8.5-pdo-dblib%{?_isa} = %{version}-%{release} %endif %description pdo-dblib @@ -834,8 +852,9 @@ Provides: php-embedded-devel = %{version}-%{release} Provides: php-embedded-devel%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-embedded < %{version}-%{release} -Provides: php8.4-embedded = %{version}-%{release} -Provides: php8.4-embedded%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-embedded < %{version}-%{release} +Provides: php8.5-embedded = %{version}-%{release} +Provides: php8.5-embedded%{?_isa} = %{version}-%{release} %endif %description embedded @@ -852,8 +871,9 @@ BuildRequires: pkgconfig(icu-io) >= 74 BuildRequires: pkgconfig(icu-uc) >= 74 %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-intl < %{version}-%{release} -Provides: php8.4-intl = %{version}-%{release} -Provides: php8.4-intl%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-intl < %{version}-%{release} +Provides: php8.5-intl = %{version}-%{release} +Provides: php8.5-intl%{?_isa} = %{version}-%{release} %endif %description intl @@ -868,8 +888,9 @@ Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: pkgconfig(enchant-2) %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-enchant < %{version}-%{release} -Provides: php8.4-enchant = %{version}-%{release} -Provides: php8.4-enchant%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-enchant < %{version}-%{release} +Provides: php8.5-enchant = %{version}-%{release} +Provides: php8.5-enchant%{?_isa} = %{version}-%{release} %endif %description enchant @@ -907,8 +928,9 @@ Provides: php-pecl(libsodium) = %{version} Provides: php-pecl(libsodium)%{?_isa} = %{version} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-sodium < %{version}-%{release} -Provides: php8.4-sodium = %{version}-%{release} -Provides: php8.4-sodium%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-sodium < %{version}-%{release} +Provides: php8.5-sodium = %{version}-%{release} +Provides: php8.5-sodium%{?_isa} = %{version}-%{release} %endif %description sodium @@ -925,8 +947,9 @@ BuildRequires: pkgconfig(libffi) Requires: php-common%{?_isa} = %{version}-%{release} %if 0%{?rhel} >= 10 && "%{?vendeur}" == "remi" Obsoletes: php8.4-ffi < %{version}-%{release} -Provides: php8.4-ffi = %{version}-%{release} -Provides: php8.4-ffi%{?_isa} = %{version}-%{release} +Obsoletes: php8.5-ffi < %{version}-%{release} +Provides: php8.5-ffi = %{version}-%{release} +Provides: php8.5-ffi%{?_isa} = %{version}-%{release} %endif %description ffi @@ -1038,16 +1061,13 @@ rm ext/date/tests/bug73837.phpt rm ext/standard/tests/file/file_get_contents_error001.phpt # fails sometime rm ext/sockets/tests/mcast_ipv?_recv.phpt -# cause stack exhausion -rm Zend/tests/bug54268.phpt -rm Zend/tests/bug68412.phpt # slow and erratic result rm sapi/cli/tests/upload_2G.phpt -# tar issue -rm ext/zlib/tests/004-mb.phpt # Both Fedora and RHEL do not support arbitrary EC parameters # https://bugzilla.redhat.com/2223953 rm ext/openssl/tests/ecc_custom_params.phpt +# Failing when build with PHP installed +rm ext/opcache/tests/zzz_basic_logging.phpt # avoid issue when 2 builds run simultaneously (keep 64321 for the SCL) %ifarch x86_64 @@ -1194,6 +1214,7 @@ ln -sf ../configure --without-pear \ --with-exec-dir=%{_bindir} \ --without-gdbm \ + --enable-opcache-file \ --with-openssl \ %if %{with openssl32} --with-openssl-argon2 \ @@ -1205,6 +1226,9 @@ ln -sf ../configure %if %{with libxcrypt} --with-external-libcrypt \ %endif +%if %{with liburiparser} + --with-external-uriparser \ +%endif --with-zlib \ --with-layout=GNU \ --with-libxml \ @@ -1234,8 +1258,6 @@ make %{?_smp_mflags} pushd build-cgi build --enable-pcntl \ - --enable-opcache \ - --enable-opcache-file \ --with-capstone \ --enable-phpdbg --enable-phpdbg-readline \ --enable-mbstring=shared \ @@ -1315,7 +1337,6 @@ without_shared="--disable-gd \ --disable-dom --disable-dba --without-unixODBC \ --without-mysqli \ --disable-pdo \ - --disable-opcache \ --disable-phpdbg \ --without-ffi \ --disable-xmlreader --disable-xmlwriter \ @@ -1358,9 +1379,6 @@ build --includedir=%{_includedir}/php-zts \ --program-prefix=zts- \ --disable-cgi \ --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ - --enable-pcntl \ - --enable-opcache \ - --enable-opcache-file \ --with-capstone \ --enable-mbstring=shared \ --enable-mbregex \ @@ -1587,8 +1605,7 @@ for mod in pgsql odbc ldap snmp \ do case $mod in opcache) - # Zend extensions - TESTCMD="$TESTCMD --define zend_extension=$mod" + # static extension ini=10-${mod}.ini;; pdo_*|mysqli|xmlreader) # Extensions with dependencies on 20-* @@ -1658,6 +1675,7 @@ cat files.curl files.phar files.fileinfo \ files.tokenizer > files.common # The default Zend OPcache blacklist file +rm files.opcache install -m 644 %{SOURCE51} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/opcache-default.blacklist %if %{with zts} install -m 644 %{SOURCE51} $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/opcache-default.blacklist @@ -1724,6 +1742,11 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %license timelib_LICENSE %doc php.ini-* %config(noreplace) %{_sysconfdir}/php.ini +%config(noreplace) %{_sysconfdir}/php.d/10-opcache.ini +%config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist +%if %{with zts} +%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist +%endif %dir %{_sysconfdir}/php.d %dir %{_libdir}/php %dir %{_libdir}/php/modules @@ -1788,8 +1811,8 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : # log owned by apache for log %attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm %{_mandir}/man8/php-fpm.8* -%dir %{_datadir}/fpm -%{_datadir}/fpm/status.html +%dir %{_datadir}/php/fpm +%{_datadir}/php/fpm/status.html %if %{with lsws} %files litespeed @@ -1837,11 +1860,6 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %endif %files enchant -f files.enchant %files mysqlnd -f files.mysqlnd -%files opcache -f files.opcache -%config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist -%if %{with zts} -%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist -%endif %if %{with zip} %files zip -f files.zip %endif @@ -1851,6 +1869,13 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %changelog +* Wed Sep 24 2025 Remi Collet <remi@remirepo.net> - 8.5.0~RC1-1 +- update to 8.5.0RC1 +- bump ABI/API numbers to 20240925 +- drop opcache subpackage, extension is build statically +- add lexbor and uri extension (always static) +- move /usr/share/fpm/status.html to /usr/share/php/fpm/status.html + * Wed Sep 24 2025 Remi Collet <remi@remirepo.net> - 8.4.13-1 - Update to 8.4.13 - http://www.php.net/releases/8_4_13.php |