From 7b8aac46006ce57fb0056ea4bd8b6e79ee55fe3e Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 22 May 2019 16:30:43 +0200 Subject: new snapshot with configuration updated from upstream --- 10-opcache.ini | 17 +++++++++++++++++ 20-ffi.ini | 8 ++++++++ php.ini | 60 +++++++++++++--------------------------------------------- php.spec | 53 +++++++++++++++++---------------------------------- 4 files changed, 55 insertions(+), 83 deletions(-) create mode 100644 20-ffi.ini diff --git a/10-opcache.ini b/10-opcache.ini index 60e54b8..2abdeb2 100644 --- a/10-opcache.ini +++ b/10-opcache.ini @@ -109,6 +109,10 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist ; cache is required. ;opcache.file_cache_fallback=1 +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +opcache.huge_code_pages=0 + ; Validate cached file permissions. ; Leads OPcache to check file readability on each access to cached file. ; This directive should be enabled in shared hosting environment, when few @@ -124,3 +128,16 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist ; If specified, it produces opcode dumps for debugging different stages of ; optimizations. ;opcache.opt_debug_level=0 + +; Specifies a PHP script that is going to be compiled and executed at server +; start-up. +; http://php.net/opcache.preload +;opcache.preload= + +; Prevents caching files that are less than this number of seconds old. It +; protects from caching of incompletely updated files. In case all file updates +; on your site are atomic, you may increase performance by setting it to "0". +;opcache.file_update_protection=2 + +; Absolute path used to store shared lockfiles (for *nix only). +;opcache.lockfile_path=/tmp diff --git a/20-ffi.ini b/20-ffi.ini new file mode 100644 index 0000000..751cdcb --- /dev/null +++ b/20-ffi.ini @@ -0,0 +1,8 @@ +; Enable ffi extension module +extension=ffi + +; FFI API restriction. Possibe values: +; "preload" - enabled in CLI scripts and preloaded files (default) +; "false" - always disabled +; "true" - always enabled +;ffi.enable=preload diff --git a/php.ini b/php.ini index d52aeaa..5e3ffc5 100644 --- a/php.ini +++ b/php.ini @@ -108,11 +108,6 @@ ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - ; log_errors ; Default Value: Off ; Development Value: On @@ -516,7 +511,7 @@ ignore_repeated_errors = Off 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 has only effect in a debug compile, and if +; stdout or in the log). This is only effective in a debug compile, and if ; error reporting includes E_WARNING in the allowed list ; http://php.net/report-memleaks report_memleaks = On @@ -545,11 +540,8 @@ report_memleaks = On ; error message as HTML for easier reading. This directive controls whether ; the error message is formatted as HTML or not. ; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On ; http://php.net/html-errors -html_errors = On +;html_errors = On ; If html_errors is set to On *and* docref_root is not empty, then PHP ; produces clickable error messages that direct to a page describing the error @@ -673,7 +665,7 @@ register_argc_argv = Off ; first used (Just In Time) instead of when the script starts. If these ; variables are not used within a script, having this directive on will result ; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. +; for this directive to have any effect. ; http://php.net/auto-globals-jit auto_globals_jit = On @@ -1084,37 +1076,6 @@ odbc.defaultlrl = 4096 ; http://php.net/odbc.defaultbinmode odbc.defaultbinmode = 1 -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - [MySQLi] ; Maximum number of persistent links. -1 means no limit. @@ -1145,11 +1106,11 @@ mysqli.default_port = 3306 ; http://php.net/mysqli.default-socket mysqli.default_socket = -; Default host for mysql_connect() (doesn't apply in safe mode). +; Default host for mysqli_connect() (doesn't apply in safe mode). ; http://php.net/mysqli.default-host mysqli.default_host = -; Default user for mysql_connect() (doesn't apply in safe mode). +; Default user for mysqli_connect() (doesn't apply in safe mode). ; http://php.net/mysqli.default-user mysqli.default_user = @@ -1198,6 +1159,9 @@ mysqlnd.collect_memory_statistics = Off ; key. ;mysqlnd.sha256_server_public_key = +[OCI8] +; see /etc/php.d/20-oci8.ini + [PostgreSQL] ; Allow or prevent persistent links. ; http://php.net/pgsql.allow-persistent @@ -1671,6 +1635,9 @@ ldap.max_links = -1 [dba] ;dba.default_handler= +[opcache] +; see /etc/php.d/10-opcache.ini + [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. @@ -1694,6 +1661,5 @@ ldap.max_links = -1 ; SSL stream context option. ;openssl.capath= -; Local Variables: -; tab-width: 4 -; End: +[ffi] +; see /etc/php.d/20-ffi.ini diff --git a/php.spec b/php.spec index d14c14d..24688e5 100644 --- a/php.spec +++ b/php.spec @@ -96,9 +96,9 @@ %global with_zip 0 -%global gh_commit 9ef03a94ba68be0f8bae36f46c4763ba3c88a02a +%global gh_commit 7f68d5b7d8fd23f719078e0c37055558411aad07 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_date 20190521 +%global gh_date 20190522 %global gh_owner php %global gh_project php-src %global upver 7.4.0 @@ -108,7 +108,7 @@ Summary: PHP scripting language for creating dynamic web sites Name: %{?scl_prefix}php Version: %{upver}%{?lower:~%{lower}}%{?gh_date:.%{gh_date}} -Release: 2%{?dist} +Release: 3%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD @@ -139,6 +139,7 @@ Source12: php-fpm.wants Source50: 10-opcache.ini Source51: opcache-default.blacklist Source52: 20-oci8.ini +Source53: 20-ffi.ini # Build fixes Patch1: php-7.1.7-httpd.patch @@ -329,8 +330,8 @@ Summary: Common files for PHP # regex, libmagic are licensed under BSD License: PHP and BSD # ABI/API check - Arch specific -Provides: %{?scl_prefix}php(api) = %{apiver}%{isasuffix} -Provides: %{?scl_prefix}php(zend-abi) = %{zendver}%{isasuffix} +Provides: %{?scl_prefix}php(api) = %{apiver}-%{__isa_bits} +Provides: %{?scl_prefix}php(zend-abi) = %{zendver}-%{__isa_bits} Provides: %{?scl_prefix}php(language) = %{version} Provides: %{?scl_prefix}php(language)%{?_isa} = %{version} # Provides for all builtin/shared modules: @@ -454,8 +455,8 @@ Group: Development/Languages License: PHP Requires: %{?scl_prefix}php-common%{?_isa} = %{version}-%{release} # ABI/API check - Arch specific -Provides: %{?scl_prefix}php-pdo-abi = %{pdover}%{isasuffix} -Provides: %{?scl_prefix}php(pdo-abi) = %{pdover}%{isasuffix} +Provides: %{?scl_prefix}php-pdo-abi = %{pdover}-%{__isa_bits} +Provides: %{?scl_prefix}php(pdo-abi) = %{pdover}-%{__isa_bits} %if %{with_sqlite3} Provides: %{?scl_prefix}php-sqlite3, %{?scl_prefix}php-sqlite3%{?_isa} %endif @@ -1040,9 +1041,9 @@ find . -name \*.[ch] -exec chmod 644 {} \; chmod 644 README.* # Create the macros.php files -sed -e "s/@PHP_APIVER@/%{apiver}%{isasuffix}/" \ - -e "s/@PHP_ZENDVER@/%{zendver}%{isasuffix}/" \ - -e "s/@PHP_PDOVER@/%{pdover}%{isasuffix}/" \ +sed -e "s/@PHP_APIVER@/%{apiver}-%{__isa_bits}/" \ + -e "s/@PHP_ZENDVER@/%{zendver}-%{__isa_bits}/" \ + -e "s/@PHP_PDOVER@/%{pdover}-%{__isa_bits}/" \ -e "s/@PHP_VERSION@/%{upver}/" \ -e "s:@LIBDIR@:%{_libdir}:" \ -e "s:@ETCDIR@:%{_sysconfdir}:" \ @@ -1054,28 +1055,14 @@ sed -e "s/@PHP_APIVER@/%{apiver}%{isasuffix}/" \ echo '%%%{?scl:%{scl}_}pecl_xmldir %{_localstatedir}/lib/php/peclxml' | tee -a macros.php %endif -# php-fpm configuration files for tmpfiles.d -# TODO echo "d /run/php-fpm 755 root root" >php-fpm.tmpfiles - # Some extensions have their own configuration file -cp %{SOURCE50} 10-opcache.ini -%if 0%{?rhel} != 6 -cat << EOF >>10-opcache.ini - -; Enables or disables copying of PHP code (text segment) into HUGE PAGES. -; This should improve performance, but requires appropriate OS configuration. -opcache.huge_code_pages=0 -EOF +cp %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53} . %ifarch x86_64 sed -e '/opcache.huge_code_pages/s/0/1/' -i 10-opcache.ini %endif -%endif -tail -n 5 10-opcache.ini -cp %{SOURCE51} . sed -e 's:%{_root_sysconfdir}:%{_sysconfdir}:' \ -i 10-opcache.ini -cp %{SOURCE52} 20-oci8.ini %if 0%{!?scl:1} : SCL macro not defined @@ -1179,9 +1166,6 @@ build --libdir=%{_libdir}/php \ --enable-pcntl \ --enable-opcache \ --enable-opcache-file \ -%if 0%{?rhel} == 6 - --disable-huge-code-pages \ -%endif --enable-phpdbg \ %if %{with_imap} --with-imap=shared --with-imap-ssl \ @@ -1361,6 +1345,8 @@ make -C build-cgi install \ # Install the default configuration file install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/ install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.ini +sed -e 's:%{_root_sysconfdir}:%{_sysconfdir}:' \ + -i $RPM_BUILD_ROOT%{_sysconfdir}/php.ini # For third-party packaging: install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php @@ -1378,18 +1364,12 @@ ln -s %{_httpd_moddir}/libphp7.so $RPM_BUILD_ROOT%{_root_httpd_moddir}/lib% cp %{SOURCE9} modconf %endif -%if "%{_httpd_modconfdir}" == "%{_httpd_confdir}" -# Single config file with httpd < 2.4 (RHEL <= 6) -install -D -m 644 modconf $RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf -cat %{SOURCE1} >>$RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf -%else # Dual config file with httpd >= 2.4 (RHEL >= 7) install -D -m 644 modconf $RPM_BUILD_ROOT%{_httpd_modconfdir}/15-%{name}.conf install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf %if %{with_httpd2410} cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf %endif -%endif sed -e 's:/var/lib:%{_localstatedir}/lib:' \ -i $RPM_BUILD_ROOT%{_httpd_confdir}/%{name}.conf @@ -1663,9 +1643,7 @@ fi %attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache %attr(0770,root,apache) %dir %{_localstatedir}/lib/php/opcache %config(noreplace) %{_httpd_confdir}/%{name}.conf -%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" %config(noreplace) %{_httpd_modconfdir}/15-%{name}.conf -%endif %files common -f files.common %doc EXTENSIONS NEWS UPGRADING* README.REDIST.BINS *md docs @@ -1817,6 +1795,9 @@ fi %changelog +* Wed May 22 2019 Remi Collet - 7.4.0~DEV.20190522-3 +- new snapshot with configuration updated from upstream + * Tue May 21 2019 Remi Collet - 7.4.0~DEV.20190521-2 - new snapshot for enchant and sodium fix -- cgit