1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 23:48:14 +02:00
Commit Graph

5704 Commits

Author SHA1 Message Date
Martin Kealey 2fc1ddc0f1 line break before --prefix in php-fpm man page 2022-03-27 17:44:31 +02:00
David CARLIER 814374faa1 fpm zlog_stream_buf_alloc_ex little simplifications. (#8224) 2022-03-24 00:13:51 +00:00
istiak101 bf2867bc72 Fix FSF address & update year to 2022
FSF mailing address was changed long time ago. This patch updates that address. Also updated year from 2021 to 2022.

Closes GH-8009.
2022-03-19 18:25:29 +01:00
Christoph M. Becker 1c381a7060 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bugtracker URL
2022-02-15 19:15:53 +01:00
Christoph M. Becker 720d6faa29 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix bugtracker URL
2022-02-15 19:15:24 +01:00
Christoph M. Becker e98a7a68b7 Fix bugtracker URL
The php-src bugtracker is now on Github.

Closes GH-8102.
2022-02-15 19:14:07 +01:00
Jakub Zelenka 354c52e9b6 Merge branch 'PHP-8.1' 2022-02-09 23:24:38 +00:00
Jakub Zelenka 49087a65ee Merge branch 'PHP-8.0' into PHP-8.1 2022-02-09 23:23:05 +00:00
Till Backhaus 29fe06fa59 Fix bug #76109: Implement fpm_scoreboard_copy
fpm_scoreboard_copy locks the scoreboard while copying the scoreboard and all
proc scoreboards. proc scoreboards are locked one by one while copying each
struct. The old implementation (inside fpm_handle_status_request) only briefly
locked the scoreboard while copying the scorebard.

Closes GH-7931

Co-authored-by: Jakub Zelenka <bukka@php.net>
2022-02-09 23:02:45 +00:00
David CARLIER 20d8561ed4 fuzzer support for FreeBSD, getting opcache location
Closes GH-7926.
2022-01-18 15:04:42 +01:00
Christoph M. Becker 796511f324 Fix php-cgi name in usage info
Cf. <https://github.com/php/doc-en/issues/1312#issuecomment-1008214821>.

Closes GH-7916.
2022-01-10 18:21:09 +01:00
Christoph M. Becker d528d29ed4 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix memory leak on invalid port
2022-01-08 21:07:03 +01:00
Christoph M. Becker 2b07513192 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix memory leak on invalid port
2022-01-08 21:06:39 +01:00
David Carlier c99a026c9c Fix memory leak on invalid port
Closes GH-7911.
2022-01-08 21:04:55 +01:00
Jakub Zelenka c70f3e0239 Merge branch 'PHP-8.1' 2022-01-04 23:03:38 +00:00
Stefano Arlandini 46bec6de42 Fix the OpenMetrics response format returned by the FPM status page
Closes GH-7843, closes GH-7842
2022-01-04 23:01:10 +00:00
Christoph M. Becker 8147fec372 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix buffer allocations in zlog_stream_set_msg_suffix()
2021-12-28 13:29:42 +01:00
Christoph M. Becker 5d4bef0d0c Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix buffer allocations in zlog_stream_set_msg_suffix()
2021-12-28 13:28:55 +01:00
David Carlier cb3d858745 Fix buffer allocations in zlog_stream_set_msg_suffix()
If that code was used, there would be a UAF scenario.

Closes GH-7835.
2021-12-28 13:27:54 +01:00
Tyson Andre 9a59417445 [skip ci] Document how to quickly check if jit .dasc files transpile, how to test the jit in different architectures. (#7768) 2021-12-19 10:12:35 -05:00
Jakub Zelenka c4a1c0c18c Merge branch 'PHP-8.1' 2021-11-27 22:43:37 +00:00
Jakub Zelenka a529d0dd15 Merge branch 'PHP-8.0' into PHP-8.1 2021-11-27 22:39:51 +00:00
Jakub Zelenka 81513e6285 Add skip for FPM process idle flaky test 2021-11-27 22:37:43 +00:00
Nikita Popov 902d64390e Deprecate implicit dynamic properties
Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/__set().

RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties
2021-11-26 14:10:11 +01:00
Remi Collet bc9d604430 Merge branch 'PHP-8.1'
* PHP-8.1:
  fix [-Wstrict-prototypes] buid warnings
2021-11-24 14:55:30 +01:00
Remi Collet ef2fd0e5b5 fix [-Wstrict-prototypes] buid warnings 2021-11-24 14:55:11 +01:00
Dmitry Stogov 067df26344 Use memrchr() when available
On x86_64 glibc memrchr() uses SSE/AVX CPU extensions and works much
faster then naive loop. On x86 32-bit we still use inlined version.

memrchr() is a GNU extension. Its prototype  becomes available when
<string.h> is included with defined _GNU_SOURCE macro. Previously, we
defined it in "php_config.h", but some sources may include <string.h>
befire it. To avod mess we also pass -D_GNU_SOURCE to C compiler.
2021-11-24 16:13:34 +03:00
Nikita Popov 7cbf4bde3e Merge branch 'PHP-8.1'
* PHP-8.1:
  Add FPM test for php_admin_value doc_root usage
  Fix for bug in file handling refactor.
2021-11-23 18:36:45 +01:00
Jakub Zelenka 435a5aca89 Add FPM test for php_admin_value doc_root usage
Closes GH-7673.
2021-11-23 18:36:04 +01:00
Dmitry Stogov ae5498c929 Fixed typo 2021-11-23 15:34:12 +03:00
Jakub Zelenka 636e54a1cb Merge branch 'PHP-8.1' 2021-11-20 20:44:41 +00:00
Jakub Zelenka 79f0e486fd Merge branch 'PHP-8.0' into PHP-8.1 2021-11-20 20:44:02 +00:00
Jakub Zelenka 2f8407f185 Increase read timeout in FPM process idle test 2021-11-20 20:42:19 +00:00
Jakub Zelenka fc67967190 Increase script sleep in FPM process idle test 2021-11-20 20:42:19 +00:00
Nikita Popov 3ded2db0d2 Merge branch 'PHP-8.1'
* PHP-8.1:
  Update reflection test after stub change
2021-11-18 11:16:51 +01:00
Nikita Popov 36d2d27980 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Update reflection test after stub change
2021-11-18 11:16:35 +01:00
Nikita Popov e81ad637f4 Update reflection test after stub change 2021-11-18 11:16:13 +01:00
Dmitry Stogov ab5e908017 Fixed compilation warnings in 32-bit build 2021-11-15 10:20:03 +03:00
Jakub Zelenka 14db5fab11 Merge branch 'PHP-8.1' 2021-11-14 20:16:44 +00:00
Jakub Zelenka 48bc4ea758 Merge branch 'PHP-8.0' into PHP-8.1 2021-11-14 20:14:22 +00:00
Jakub Zelenka ec3d4409a4 Merge branch 'PHP-7.4' into PHP-8.0 2021-11-14 20:10:42 +00:00
Jakub Zelenka b2cf9b7ec7 Fix bug #81513 (Future possibility for heap overflow in FPM zlog)
This fixes currently unused code path in zlog that could lead to
the heap overflow in the future.
2021-11-14 20:08:57 +00:00
Nikita Popov e964c91bce Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix leaks for AppArmor based distros in case the profile creation fails
2021-11-12 14:26:16 +01:00
Nikita Popov 4a5d75e3ec Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix leaks for AppArmor based distros in case the profile creation fails
2021-11-12 14:26:03 +01:00
David Carlier b1e6fdefd4 Fix leaks for AppArmor based distros in case the profile creation fails
Closes GH-7646.
2021-11-12 14:25:52 +01:00
Nikita Popov edc02d2d94 Merge branch 'PHP-8.1'
* PHP-8.1:
  Implement Stringable automatically for internal classes
2021-11-05 10:24:07 +01:00
Nikita Popov b0ec6223e2 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Implement Stringable automatically for internal classes
2021-11-05 10:23:23 +01:00
Nikita Popov b302bfabe7 Implement Stringable automatically for internal classes
Requiring all internal classes (including those from 3rd-party
extensions) to implement Stringable if they provide __toString()
is too error prone. Case in point, our _ZendTestClass test class
was not doing so, resulting in preloading test failures after
recent changes.

Instead we automatically implement Stringable, the same as we do
for userland classes. We still allow explicit implementations,
but ignore them (normally they would result in an error due to
duplicate interface implementation). Finally, we need to be
careful about not trying to implement Stringable on Stringable
itself.

In some cases this changes the interface order, in particular the
automatic Stringable implementation will now come first.
2021-11-05 10:22:04 +01:00
David CARLIER 1de405907d fpm allow process tracing/core dump on solaris systems. (#7548) 2021-11-03 22:26:43 +00:00
Dmitry Stogov 90b7bde615 Use more compact representation for packed arrays.
- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[i]
  instead of ht->arData[i]
- in addition to general ZEND_HASH_FOREACH_* macros, we introduced similar
  familied for packed (ZEND_HASH_PACKED_FORECH_*) and real hashes
  (ZEND_HASH_MAP_FOREACH_*)
- introduced an additional family of macros to access elements of array
  (packed or real hashes) ZEND_ARRAY_ELEMET_SIZE, ZEND_ARRAY_ELEMET_EX,
  ZEND_ARRAY_ELEMET, ZEND_ARRAY_NEXT_ELEMENT, ZEND_ARRAY_PREV_ELEMENT
- zend_hash_minmax() prototype was changed to compare only values

Because of smaller data set, this patch may show performance improvement
on some apps and benchmarks that use packed arrays. (~1% on PHP-Parser)

TODO:
    - sapi/phpdbg needs special support for packed arrays (WATCH_ON_BUCKET).
    - zend_hash_sort_ex() may require converting packed arrays to hash.
2021-11-03 15:18:26 +03:00