#
bf139e9b |
| 01-Jul-2024 |
Peter Kokot |
Remove unused defined CPP macros in fpm SAPI (#14740) * Remove unused defined CPP macros in fpm SAPI - PHP_FPM_SYSTEMD - PHP_FPM_USER - PHP_FPM_GROUP * [skip ci] Up
Remove unused defined CPP macros in fpm SAPI (#14740) * Remove unused defined CPP macros in fpm SAPI - PHP_FPM_SYSTEMD - PHP_FPM_USER - PHP_FPM_GROUP * [skip ci] Update UPGRADING.INTERNALS
show more ...
|
#
88da9149 |
| 27-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement CSS selectors
|
#
a5b7850d |
| 29-Jun-2024 |
Peter Kokot |
Wrap Zend max execution timers check in M4 macro (#14696) - PHP_CHECK_FUNC -> AC_SEARCH_LIBS - Redundant symbols HAVE_LIBRT and HAVE_TIMER_CREATE removed - The rt library for some ol
Wrap Zend max execution timers check in M4 macro (#14696) - PHP_CHECK_FUNC -> AC_SEARCH_LIBS - Redundant symbols HAVE_LIBRT and HAVE_TIMER_CREATE removed - The rt library for some older systems (Solaris <= 10, older Linux) appended as needed - This uses AC_ and AS_* macros and relies more on Autoconf shell code handling - Help texts updated and synced
show more ...
|
#
f3feef8b |
| 24-Jun-2024 |
Peter Kokot |
Define default RE2C_FLAGS (#14615) The --no-generation-date flag is a common re2c flag used in all re2c invocations. This adds the 2nd optional argument to PHP_PROG_RE2C M4 macro in
Define default RE2C_FLAGS (#14615) The --no-generation-date flag is a common re2c flag used in all re2c invocations. This adds the 2nd optional argument to PHP_PROG_RE2C M4 macro in BC manner to set the default re2c command-line options and sets the default RE2C_FLAGS similarly on Windows.
show more ...
|
#
106581b1 |
| 23-Jun-2024 |
Peter Kokot |
Remove outdated libs_version.txt file (#14631) This is not being synced with changes done in github.com/winlibs and served only for documentation purposes. Since the list is outdated it
Remove outdated libs_version.txt file (#14631) This is not being synced with changes done in github.com/winlibs and served only for documentation purposes. Since the list is outdated it is simpler to remove it than maintain it updated.
show more ...
|
#
c6dc3bd9 |
| 23-Jun-2024 |
Peter Kokot |
Remove obsolete enable_pear BC compatibility check (#14636) This was added due to configure option rename from --enable-pear to --with-pear: 2cf1b8d3459736457b46c295eb2e8b87acb4f521
|
#
f4ce50dd |
| 21-Jun-2024 |
Peter Kokot |
Add optional pkg-config support for PostgreSQL library (libpq) (#14540) The pkg-config (libpq.pc file) was added in PostgreSQL 9.3. This adds a common setup M4 macro PHP_SETUP_PGSQL to f
Add optional pkg-config support for PostgreSQL library (libpq) (#14540) The pkg-config (libpq.pc file) was added in PostgreSQL 9.3. This adds a common setup M4 macro PHP_SETUP_PGSQL to find client PostgreSQL library libpq on the system with pkg-config. If not found, check falls back to pg_config to find the libpq and its headers in common locations as before. The PGSQL_CFLAGS and PGSQL_LIBS environment variables can override the libpq installation paths: ./configure --with-pgsql --with-pdo-pgsql \ PGSQL_CFLAGS=-I/path/to/libpq \ PGSQL_LIBS="-L/path/to/libpq -lpq" Passing manual, non-standard PostgreSQL installation path can be done with configure option arguments: ./configure \ --with-pgsql=/any/path/to/postgresql \ --with-pdo-postgresql=/any/path/to/postgresql If this DIR argument (PostgreSQL installation directory or path to the pg_config) is passed, it takes precedence over the pkg-config, when installed on the system. This also removes the unused HAVE_LIBPQ symbol and passing the PGSQL_INCLUDE and PGSQL_LIBDIR environment variable to configure in favor of PGSQL_CFLAGS and PGSQL_LIBS. Instead of the obsolete backticks the recommended $(...) is used when invoking the pg_config. Follow-up of GH-4235 (Use PKG_CHECK_MODULES to detect the pq library)
show more ...
|
#
dc477b59 |
| 19-Jun-2024 |
Arnaud Le Blanc |
[ci skip] NEWS for GH-13432
|
#
6e825dfe |
| 15-Jun-2024 |
Peter Kokot |
Add --enable-phpdbg-debug option on Windows (#14568) This enables outputting additional debugging messages when running phpdbg for developing and troubleshooting phpdbg itself. Option wa
Add --enable-phpdbg-debug option on Windows (#14568) This enables outputting additional debugging messages when running phpdbg for developing and troubleshooting phpdbg itself. Option was already added in Autotools and this adds it also to Windows build system. Because additional info is printed when running tests, the --enable-phpdbg-debug option is excluded when building with --enable-snapshot-build if not provided explicitly.
show more ...
|
#
61a0e3bd |
| 11-Jun-2024 |
Peter Kokot |
Sync HAVE_OPENSSL* symbols (#14333) This syncs few inconsistencies between the Windows and Autotools build systems: - HAVE_OPENSSL_EXT is now defined in the same style on both system
Sync HAVE_OPENSSL* symbols (#14333) This syncs few inconsistencies between the Windows and Autotools build systems: - HAVE_OPENSSL_EXT is now defined in the same style on both systems (undefined - extension is not available, defined to 1 - extension is available) - HAVE_OPENSSL removed as it was only defined on Windows
show more ...
|
#
5a03ff4f |
| 07-Jun-2024 |
Peter Kokot |
Remove PHP_SETUP_OPENSSL inactive 3rd argument (#14323) If OpenSSL is not found, the PKG_CHECK_MODULES errors out already. To not introduce too big of a BC break with possible PECL exten
Remove PHP_SETUP_OPENSSL inactive 3rd argument (#14323) If OpenSSL is not found, the PKG_CHECK_MODULES errors out already. To not introduce too big of a BC break with possible PECL extensions using this macro, it is perhaps simpler to remove this non-working argument. Redundant macro arguments are ignored by Autoconf anyway.
show more ...
|
#
cfb73958 |
| 07-Jun-2024 |
Peter Kokot |
Check ext/pcntl required functions with for loop (#14302) This omits defining redundant HAVE_<function> symbols since these are used unconditionally in ext/pcntl. * HAVE_FORK is
Check ext/pcntl required functions with for loop (#14302) This omits defining redundant HAVE_<function> symbols since these are used unconditionally in ext/pcntl. * HAVE_FORK is defined via ext/standard/config.m4 * HAVE_SIGACTION is defined via Zend.m4 * HAVE_WAITPID symbol is removed
show more ...
|
#
df481ef9 |
| 03-Jun-2024 |
Peter Kokot |
Simplify PDO include paths (#14444) PDO include paths can be simplified and synced as done in other extensions: either the project root directory or the phpincludedir (for the system
Simplify PDO include paths (#14444) PDO include paths can be simplified and synced as done in other extensions: either the project root directory or the phpincludedir (for the system installation). The 'ext' include is automatically appended when doing phpize build. In php-src it is only present on Windows build. The PHP_CHECK_PDO_INCLUDES is left intact working as before and checks if PDO headers are found.
show more ...
|
#
f69c55b5 |
| 01-Jun-2024 |
Peter Kokot |
Remove hash dependency from session extension (#14409) The session extension once depended on the hash extension for having hash functions available when using the `session.hash_function
Remove hash dependency from session extension (#14409) The session extension once depended on the hash extension for having hash functions available when using the `session.hash_function` INI directive. This directive was removed in PHP-7.1 via 3467526a65bfb15eaf9ec49a0b5673b84e26bca4. At the time it could be marked as optional dependency, because it only needed to be loaded before the session in that case. The removed ext/hash/php_hash.h in the ext/session/php_session.h might cause BC break for PHP extensions if they rely on transitive include and use hash extension in the code without explicitly including the ext/hash/php_hash.h header. Solution is to include the ext/hash/php_hash.h separately.
show more ...
|
#
c7797fc8 |
| 29-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix bug GH-11941: soap with session persistence will silently fails when "seession" built as a shared object (#14362) This adds an optional dependency on the session extension and adds the
Fix bug GH-11941: soap with session persistence will silently fails when "seession" built as a shared object (#14362) This adds an optional dependency on the session extension and adds the necessary APIs to make the functionality work with lazy binding. This can be tested by configuring PHP with `--enable-session=shared` and `--enable-soap=shared` and running the test suite, in particular the buggy behaviour can be observed by the existing test `server009.phpt`.
show more ...
|
#
48d5ae98 |
| 29-May-2024 |
Gina Peter Banyard |
ext/standard: Refactor exec.c public APIs to use zend_string pointers (#14353) * Pull zend_string* from INI directive * Ensure that mail.force_extra_parameters INI directive does no
ext/standard: Refactor exec.c public APIs to use zend_string pointers (#14353) * Pull zend_string* from INI directive * Ensure that mail.force_extra_parameters INI directive does not have any nul bytes * ext/standard: Make php_escape_shell_cmd() take a zend_string* instead of char* This saves on an expensive strlen() computation * Convert E_ERROR to ValueError in php_escape_shell_cmd() * ext/standard: Make php_escape_shell_arg() take a zend_string* instead of char* This saves on an expensive strlen() computation * Convert E_ERROR to ValueError in php_escape_shell_arg()
show more ...
|
#
8cf87515 |
| 27-May-2024 |
Tim Düsterhus |
random: Remove internal aliases for the global Mt19937 functionality (#14314) * random: Remove `php_rand()` This effectively is just a slim wrapper around `(zend_long)php_mt_rand()`
random: Remove internal aliases for the global Mt19937 functionality (#14314) * random: Remove `php_rand()` This effectively is just a slim wrapper around `(zend_long)php_mt_rand()`. It is not compatible between 32-bit and 64-bit builds of PHP, due to the use of `zend_long`, which may result in negative integersbeing returned on 32-bit platforms, whereas 64-bit platforms will be compatible with `php_mt_rand()`. An example would be the `0` seed, which emits 2357136044 on 64-bit platforms and -1937831252 on 32-bit platforms. Users of `php_rand()` should ideally migrate to one of the more modern engines, with extension-specific state. If drop-in compatibility is desired, they can just cast the result of `php_mt_rand()`. But providing it out of the box does not provide a value-add and is potentially dangerous. * random: Remove `php_srand()` With `php_rand()` gone, preserving its companion `php_srand()` is just confusing. The same recommendations apply: Migrate to a modern engine if possible and just call `php_mt_srand()` with an appropriately casted input. * random: Remove `PHP_RAND_MAX` and `RAND_MAX` These are the companions to `php_rand()`, which was removed in a previous commit. Generally speaking the maximum returnable value is not particularly useful anyways. Attempting it to create a random float by dividing the returned integer by the maximum value would result in a bias if the maximum value would be larger than 2**53 and even for that case, the various `range()` helpers allow to easily retrieve a uniformly distributed integer from a suitable range. * UPGRADING.INTERNALS
show more ...
|
#
c461b600 |
| 24-May-2024 |
Levi Morrison |
refactor: change `zend_is_true` to return `bool` (#14301) Previously this returned `int`. Many functions actually take advantage of the fact this returns exactly 0 or 1. For instance,
refactor: change `zend_is_true` to return `bool` (#14301) Previously this returned `int`. Many functions actually take advantage of the fact this returns exactly 0 or 1. For instance, `main/streams/xp_socket.c` does: sockopts |= STREAM_SOCKOP_IPV6_V6ONLY_ENABLED * zend_is_true(tmpzval); And `Zend/zend_compile.c` does: child = &ast->child[2 - zend_is_true(zend_ast_get_zval(ast->child[0]))]; I changed a few places trivially from `int` to `bool`, but there are still many places such as the object handlers which return `int` that should eventually be `bool`.
show more ...
|
#
62ebe822 |
| 16-May-2024 |
Ilija Tovilo |
Separate internal and user function extension handles This allows us to skip zend_init_internal_run_time_cache() when opcache is enabled. This function can be quite expensive. C
Separate internal and user function extension handles This allows us to skip zend_init_internal_run_time_cache() when opcache is enabled. This function can be quite expensive. Closes GH-14252
show more ...
|
#
2a23c91a |
| 16-May-2024 |
Peter Kokot |
Remove unused HAVE_PDO_SQLITELIB symbol (#14232) Symbol isn't defined on Windows and is redundant since the SQLite library is required for ext/pdo_sqlite and isn't bundled in php-src
Remove unused HAVE_PDO_SQLITELIB symbol (#14232) Symbol isn't defined on Windows and is redundant since the SQLite library is required for ext/pdo_sqlite and isn't bundled in php-src anymore.
show more ...
|
#
44ed17ca |
| 13-May-2024 |
Peter Kokot |
Replace configure option --with-openssl-dir (#14028) This is a leftover from the refactoring of the --with-openssl-dir option that once accepted the path to OpenSSL but wasn't renamed ba
Replace configure option --with-openssl-dir (#14028) This is a leftover from the refactoring of the --with-openssl-dir option that once accepted the path to OpenSSL but wasn't renamed back then. Instead of --with-openssl-dir, SSL support in ext/ftp and ext/mysqlnd can be enabled implicitly when building with ext/openssl enabled (--with-openssl) or explicitly by using new separate configure options --with-ftp-ssl and --with-mysqlnd-ssl.
show more ...
|
#
87765615 |
| 10-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Add note for libxml handlers in UPGRADING.INTERNALS
|
#
a22a8724 |
| 07-Apr-2024 |
Bob Weinand |
Add next handler parameter to zend_observer_remove_begin/end_handler (#13807) The usage of the current API within an observer handler leads to bugs like https://bugs.xdebug.org/view.php?id=2
Add next handler parameter to zend_observer_remove_begin/end_handler (#13807) The usage of the current API within an observer handler leads to bugs like https://bugs.xdebug.org/view.php?id=2232. Given two observer handlers, next to each other. The first one is executed. It removes itself. The second observer handler gets moved to the place of the first. The first one returns. The handler in the second slot is fetched, but is now NULL, because the it's now in the slot of the first observer; i.e. the second handler is skipped and the begin/end symmetry guarantee is violated. Providing the next handler to the caller is a zero-cost way to avoid any impact in the paths of zend_observe_fcall_begin/end. Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
show more ...
|
#
30885f3b |
| 31-Mar-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement request #71571: XSLT processor should provide option to change maxDepth (#13731) There are two depth limiting parameters for XSLT templates. 1) maxTemplateDepth This cor
Implement request #71571: XSLT processor should provide option to change maxDepth (#13731) There are two depth limiting parameters for XSLT templates. 1) maxTemplateDepth This corresponds to the recursion depth of a template. For very complicated templates this can be hit. 2) maxTemplateVars This is the total number of live variables. When using recursive templates with lots of parameters you can hit this limit. This patch introduces two new properties to XSLTProcessor that corresponds to the above variables.
show more ...
|
#
6c5814da |
| 27-Mar-2024 |
Remi Collet |
revert base64_encode change
|