Kévin Dunglas
a191e7a4b1
Merge branch 'PHP-8.4'
...
* PHP-8.4:
fix GH-8533: dynamic libphp linking on Mac
2025-03-12 08:59:20 +01:00
Kévin Dunglas
74a455fb11
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
fix GH-8533: dynamic libphp linking on Mac
2025-03-12 08:58:54 +01:00
Kévin Dunglas
009b5e2bfd
fix GH-8533: dynamic libphp linking on Mac
...
Pass the -dynamiclib flag to libtool to build
a valid Mac dylib.
Closes GH-8533.
2025-03-12 07:40:02 +01:00
Tim Düsterhus
057ff3519d
sapi/cli: Print non-default INI settings for --ini=diff ( #17762 )
...
This is a follow-up for php/php-src#17459 , updating the command-line flag to
not modify the behavior of `--ini`.
2025-03-04 08:42:06 +01:00
Pascal Chevrel
ff88701b77
Fix GH-17956 Internal dev server 404 page is not responsive
...
Add a basic viewport html meta tag with responsive mode parameters
See: https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag
Updated existing tests
close GH-17957
2025-03-03 12:05:00 +00:00
Niels Dossche
98e0501343
Drop support for -z CLI/CGI option
...
This functionality didn't actually work.
This was discussed on the mailing list [1] and no one objected.
[1] https://externals.io/message/126368
Closes GH-17883.
2025-03-03 08:21:56 +01:00
Christoph M. Becker
650086f3e6
Exclude unused functions from compilation units (GH-17686)
...
This avoids Clang complaining with `-Wunused-function`.
We also introduce the macro `PRELOAD_SUPPORT` for clarification.
2025-02-10 18:00:19 +01:00
Jakub Zelenka
bff0ec82a6
Merge branch 'PHP-8.4'
2025-02-08 12:08:19 +01:00
Jakub Zelenka
74d4e67236
Merge branch 'PHP-8.3' into PHP-8.4
2025-02-08 12:07:22 +01:00
Jakub Zelenka
e48ceb0026
Fix GH-17643: FPM with httpd ProxyPass encoded PATH_INFO env
...
Closes GH-17644
2025-02-08 12:05:25 +01:00
Tim Düsterhus
e3798c2ab9
sapi/cli: Extend --ini to print INI settings changed from the builtin default ( #17459 )
...
* sapi/cli: Extend `--ini` to print INI settings changed from the builtin default
This is intended to make it easier to check whether or not a given INI setting
is changed from the default when building reproducers for a bugreport, without
forgetting any that might be relevant to the report.
As an example, running `sapi/cli/php -c /etc/php/8.3/cli/ --ini` on my Ubuntu
will now output:
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /etc/php/8.3/cli/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Non-standard INI settings:
allow_url_include: "0" -> ""
auto_append_file: (none) -> ""
auto_prepend_file: (none) -> ""
display_errors: "1" -> ""
display_startup_errors: "1" -> ""
enable_dl: "1" -> ""
error_reporting: (none) -> "22527"
html_errors: "1" -> "0"
ignore_repeated_errors: "0" -> ""
ignore_repeated_source: "0" -> ""
implicit_flush: "0" -> "1"
log_errors: "0" -> "1"
mail.add_x_header: "0" -> ""
mail.mixed_lf_and_crlf: "0" -> ""
max_execution_time: "30" -> "0"
memory_limit: "128M" -> "-1"
request_order: (none) -> "GP"
session.cookie_httponly: "0" -> ""
session.gc_divisor: "100" -> "1000"
session.gc_probability: "1" -> "0"
session.sid_bits_per_character: "4" -> "5"
session.sid_length: "32" -> "26"
short_open_tag: "1" -> ""
unserialize_callback_func: (none) -> ""
user_dir: (none) -> ""
variables_order: "EGPCS" -> "GPCS"
zend.assertions: "1" -> "-1"
zend.exception_ignore_args: "0" -> "1"
zend.exception_string_param_max_len: "15" -> "0"
* Improve phrasing
Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz >
* NEWS/UPGRADING
---------
Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz >
2025-02-05 17:54:52 +01:00
Christoph M. Becker
107bd080a5
Fix Clang style nits (GH-17685)
...
This addresses all `-Wlogical-op-parentheses` and `-Wmissing-braces`
warnings across the whole code base (all Windows specific code).
2025-02-05 14:13:56 +01:00
Christoph M. Becker
4373c601ea
Remove more unused local variables (GH-17688)
...
Since `pdo_odbc_ucs22utf8()` doesn't actually use the `stmt`, we drop
this parameter as well.
2025-02-03 20:06:29 +01:00
Christoph M. Becker
3955b01653
Avoid duplicate build rules
...
On Windows, the cli and phpdbg SAPIs have variants (cli-win32 and
phpdbgs, respectively) which are build by default. However, the
variants share some files, what leads to duplicate build rules in the
generated Makefile. NMake throws warning U4004[1], but proceeds
happily, ignoring the second build rule. That means that different
flags for duplicate rules are ignored, hinting at a potential problem.
We solve this by introducing an additional (optional) argument to
`SAPI()` and `ADD_SOURCES()` which can be used to avoid such duplicate
build rules. It's left to the SAPI maintainers to make sure that
appropriate rules are created. We fix this for phpdbgs right away,
which currently couldn't be build without phpdbg due to the missing
define; we remove the unused `PHP_PHPDBG_EXPORTS` flag altogether.
[1] <https://learn.microsoft.com/en-us/cpp/error-messages/tool-errors/nmake-warning-u4004 >
Closes GH-17545.
2025-02-01 11:21:09 +01:00
Niels Dossche
ef10339fe7
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix memory leak in phpdbg calling registered function
Partially fix GH-17387
2025-01-30 19:32:28 +01:00
Niels Dossche
29bafa6323
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix memory leak in phpdbg calling registered function
Partially fix GH-17387
2025-01-30 19:31:38 +01:00
ndossche
62bbfdebaa
Fix memory leak in phpdbg calling registered function
...
Closes GH-17635.
2025-01-30 19:28:26 +01:00
ndossche
5447473785
Partially fix GH-17387
...
The length of the string should be set to the truncated length (that was
used to duplicate the input anyway).
2025-01-30 19:28:23 +01:00
Christoph M. Becker
26bf239e6d
Resolve -Wincompatible-pointer-types warnings (GH-17456)
...
The phpdbg issue is a real issue, although it's unlikely that harm can
be done due to stack alignment and little-endianess. The others seem
to be more cosmetic.
2025-01-13 10:54:13 +01:00
Niels Dossche
2860c3d641
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix crashes in function registration + test
2025-01-06 21:31:03 +01:00
Niels Dossche
1235c74828
Fix crashes in function registration + test
...
Internal function won't need their refcount increased as they outlive
the debugger session, and userland functions won't be unloaded either.
So no refcount management is necessary for registered functions.
2025-01-06 21:30:34 +01:00
Gina Peter Banyard
e2e7b46542
sapi/phpdbg: Grab the function pointer directly
...
Allocating a string zval to let zend_call_function() do the same thing is slightly pointless
2025-01-06 20:17:25 +00:00
Niels Dossche
a58c6d56bb
Make docs consistent with help text
2025-01-06 20:17:25 +00:00
Niels Dossche
8cb15f6203
Fix crashes in function registration + test
...
Internal function won't need their refcount increased as they outlive
the debugger session, and userland functions won't be unloaded either.
So no refcount management is necessary for registered functions.
2025-01-06 20:17:25 +00:00
Niels Dossche
65524e5d53
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-17208: bug64539-status-json-encoding.phpt fail on 32-bits
2024-12-27 21:48:58 +01:00
Niels Dossche
2161959834
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-17208: bug64539-status-json-encoding.phpt fail on 32-bits
2024-12-27 21:48:52 +01:00
Niels Dossche
847d1401a0
Fix GH-17208: bug64539-status-json-encoding.phpt fail on 32-bits
...
The reason this breaks is because of a type mismatch.
The following line uses fields of the timeval struct which are both 8 bytes on
Alpine 32-bit, which results in a computed value of also 8 bytes:
https://github.com/php/php-src/blob/b09ed9a0f25cda8c9eea9d140c01587cd50b4aa8/sapi/fpm/fpm/fpm_status.c#L611
However, it is passed to a format string which expects 4 bytes
(`unsigned long` and thus the `%lu` format specifier is 4 bytes on Alpine 32-bit),
resulting in argument corruption.
Since the value is generally small, truncating to 4 bytes is sufficient to fix this.
Closes GH-17286.
2024-12-27 21:48:15 +01:00
Niels Dossche
48b37fe384
Merge branch 'PHP-8.4'
...
* PHP-8.4:
[ci skip] Make build command for program using embed portable
2024-12-24 14:38:20 +01:00
Niels Dossche
ce322fd1f3
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
[ci skip] Make build command for program using embed portable
2024-12-24 14:38:13 +01:00
Kévin Dunglas
a24eada99b
[ci skip] Make build command for program using embed portable
...
Closes GH-17247.
2024-12-24 14:37:44 +01:00
Christoph M. Becker
f6469054dc
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Include relevant system headers before defining fallbacks
2024-12-22 16:30:45 +01:00
Christoph M. Becker
0285e9a868
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Include relevant system headers before defining fallbacks
2024-12-22 16:30:04 +01:00
Christoph M. Becker
fcbfd5a680
Include relevant system headers before defining fallbacks
...
Otherwise we may define the fallbacks, and later inclusion of the
system headers may attempt to redefine those.
Fixes GH-17112.
Closes GH-17129.
2024-12-22 16:27:01 +01:00
Jakub Zelenka
0aeac68063
Merge branch 'PHP-8.4'
2024-12-22 14:58:36 +01:00
Jakub Zelenka
c4c536da4c
Merge branch 'PHP-8.3' into PHP-8.4
2024-12-22 14:58:08 +01:00
Jakub Zelenka
e0b79cdc5c
Introduce FPM_TEST_DEBUG_FILTER env var and extend multi request tracing
2024-12-22 14:15:03 +01:00
Tim Düsterhus
3fea6468fe
phpdbg: Call enums “Enum” and traits “Trait” in info classes ( #17191 )
...
* phpdbg: Call enums “Enum” in `info classes`
* phpdbg: Call traits “Trait” in `info classes`
2024-12-17 19:32:47 +01:00
Gina Peter Banyard
d21777d4a2
sapi/cli: Refactor process title setting code ( #17177 )
2024-12-16 22:50:06 +00:00
Jakub Zelenka
7bfd19880f
Merge branch 'PHP-8.4'
2024-12-14 15:01:55 +01:00
Jakub Zelenka
0cc0c7c7d9
Merge branch 'PHP-8.3' into PHP-8.4
2024-12-14 15:01:17 +01:00
Jakub Zelenka
3490ac0cb3
Fix GH-13437: FPM: ERROR: scoreboard: failed to lock (already locked)
...
This changes locking for scoreboard to reduce contention between readers
and adds retries for acquiring scoreboard for read.
Closes GH-15805
2024-12-14 14:59:56 +01:00
Christoph M. Becker
a7cf0725d8
Skip sapi_windows_set_ctrl_handler.phpt under ASan
...
For some reason, terminating the child process by sending CTRL+C won't
work under ASan instrumentation. Since termination via CTRL+BREAK
works, there is apparently nothing fundamentally wrong, so we just
skip the test.
Closes GH-17086.
2024-12-13 14:29:40 +01:00
Jakub Zelenka
f953bd983e
Merge branch 'PHP-8.4'
2024-11-28 09:03:12 +01:00
Jakub Zelenka
d165670d04
Fix GH-16932: wrong FPM status output
...
Closes GH-16974
Co-authored-by: James Lucas <james@lucas.net.au >
2024-11-28 08:59:55 +01:00
Niels Dossche
c2a6a7da7b
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-15208: Segfault with breakpoint map and phpdbg_clear()
2024-11-26 22:27:40 +01:00
Niels Dossche
5ff67f8720
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-15208: Segfault with breakpoint map and phpdbg_clear()
2024-11-26 22:27:35 +01:00
Niels Dossche
3c3ec0e61a
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-15208: Segfault with breakpoint map and phpdbg_clear()
2024-11-26 22:27:06 +01:00
Niels Dossche
97b03186c4
Fix GH-15208: Segfault with breakpoint map and phpdbg_clear()
...
It crashes because it's gonna try accessing the breakpoint which was cleared
by user code in `phpdbg_clear();`. Not all breakpoint data was properly
cleaned.
Closes GH-16953.
2024-11-26 22:26:37 +01:00
Jakub Zelenka
4b211a7769
Merge branch 'PHP-8.4'
2024-11-20 11:14:32 +01:00
Jakub Zelenka
7c96af42b7
Merge branch 'PHP-8.3' into PHP-8.4
2024-11-20 11:14:04 +01:00