Skip to content

Commit 59a4ecc

Browse files
committed
Merge remote-tracking branch 'origin/master' into opcache/opcache_is_script_cached_file
2 parents 7cff70a + c5ee870 commit 59a4ecc

File tree

932 files changed

+40026
-25580
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

932 files changed

+40026
-25580
lines changed

.github/scripts/windows/build_task.bat

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@ if /i "%GITHUB_ACTIONS%" neq "True" (
55
exit /b 3
66
)
77

8-
del /f /q C:\Windows\System32\libcrypto-1_1-x64.dll >NUL 2>NUL
9-
if %errorlevel% neq 0 exit /b 3
10-
del /f /q C:\Windows\System32\libssl-1_1-x64.dll >NUL 2>NUL
11-
if %errorlevel% neq 0 exit /b 3
12-
138
call %~dp0find-target-branch.bat
149
set STABILITY=staging
1510
set DEPS_DIR=%PHP_BUILD_CACHE_BASE_DIR%\deps-%BRANCH%-%PHP_SDK_VS%-%PHP_SDK_ARCH%
@@ -32,7 +27,11 @@ if "%THREAD_SAFE%" equ "0" set ADD_CONF=%ADD_CONF% --disable-zts
3227
if "%INTRINSICS%" neq "" set ADD_CONF=%ADD_CONF% --enable-native-intrinsics=%INTRINSICS%
3328
if "%ASAN%" equ "1" set ADD_CONF=%ADD_CONF% --enable-sanitizer --enable-debug-pack
3429

35-
set CFLAGS=/W2 /WX /w14013 /wd4146 /wd4244
30+
rem C4018: comparison: signed/unsigned mismatch
31+
rem C4146: unary minus operator applied to unsigned type
32+
rem C4244: type conversion, possible loss of data
33+
rem C4267: 'size_t' type conversion, possible loss of data
34+
set CFLAGS=/W3 /WX /wd4018 /wd4146 /wd4244 /wd4267
3635

3736
cmd /c configure.bat ^
3837
--enable-snapshot-build ^
@@ -46,5 +45,7 @@ if %errorlevel% neq 0 exit /b 3
4645

4746
nmake /NOLOGO
4847
if %errorlevel% neq 0 exit /b 3
48+
nmake /NOLOGO comtest.dll
49+
if %errorlevel% neq 0 exit /b 3
4950

5051
exit /b 0

.github/scripts/windows/test_task.bat

+6
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ hMailServer.exe /verysilent
118118
cd %APPVEYOR_BUILD_FOLDER%
119119
%PHP_BUILD_DIR%\php.exe -dextension_dir=%PHP_BUILD_DIR% -dextension=com_dotnet .github\setup_hmailserver.php
120120

121+
rem prepare for com_dotnet
122+
nmake register_comtest
123+
121124
mkdir %PHP_BUILD_DIR%\test_file_cache
122125
rem generate php.ini
123126
echo extension_dir=%PHP_BUILD_DIR% > %PHP_BUILD_DIR%\php.ini
@@ -138,6 +141,8 @@ editbin /stack:8388608 %PHP_BUILD_DIR%\php-cgi.exe
138141

139142
set TEST_PHPDBG_EXECUTABLE=%PHP_BUILD_DIR%\phpdbg.exe
140143

144+
copy /-y %DEPS_DIR%\bin\*.dll %PHP_BUILD_DIR%\*
145+
141146
if "%ASAN%" equ "1" set ASAN_OPTS=--asan
142147

143148
mkdir c:\tests_tmp
@@ -146,6 +151,7 @@ nmake test TESTS="%OPCACHE_OPTS% -g FAIL,BORK,LEAK,XLEAK %ASAN_OPTS% --no-progre
146151

147152
set EXIT_CODE=%errorlevel%
148153

154+
nmake unregister_comtest
149155
taskkill /f /im snmpd.exe
150156

151157
exit /b %EXIT_CODE%

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,11 @@ tmp-php.ini
290290
/junit.out.xml
291291
/.ccache/
292292

293+
# ------------------------------------------------------------------------------
294+
# Additional test build files
295+
# ------------------------------------------------------------------------------
296+
/ext/standard/tests/helpers/bad_cmd.exe
297+
293298
# ------------------------------------------------------------------------------
294299
# Special cases to invert previous ignore patterns
295300
# ------------------------------------------------------------------------------

NEWS

+14
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33
?? ??? ????, PHP 8.5.0alpha1
44

5+
- CLI:
6+
. Extended --ini to print INI settings changed from the builtin default.
7+
(timwolla)
8+
59
- COM:
610
. Fixed property access of PHP objects wrapped in variant. (cmb)
711
. Fixed method calls for PHP objects wrapped in variant. (cmb)
@@ -24,6 +28,8 @@ PHP NEWS
2428
- Curl:
2529
. Added curl_multi_get_handles(). (timwolla)
2630
. Added curl_share_init_persistent(). (enorris)
31+
. Added CURLINFO_USED_PROXY, CURLINFO_HTTPAUTH_USED, and CURLINFO_PROXYAUTH_USED
32+
support to curl_getinfo. (Ayesh Karunaratne)
2733

2834
- Date:
2935
. Fix undefined behaviour problems regarding integer overflow in extreme edge
@@ -37,6 +43,9 @@ PHP NEWS
3743
. Added enchant_dict_remove_from_session(). (nielsdos)
3844
. Added enchant_dict_remove(). (nielsdos)
3945

46+
- Fileinfo:
47+
. Upgrade to file 5.46. (nielsdos)
48+
4049
- GD:
4150
. Fixed bug #68629 (Transparent artifacts when using imagerotate). (pierre,
4251
cmb)
@@ -58,6 +67,9 @@ PHP NEWS
5867
- Output:
5968
. Fixed calculation of aligned buffer size. (cmb)
6069

70+
- PCRE:
71+
. Upgraded to pre2lib from 10.44 to 10.45. (nielsdos)
72+
6173
- PDO_PGSQL:
6274
. Added Iterable support for PDO::pgsqlCopyFromArray. (KentarouTakeda)
6375
. Implement GH-15387 Pdo\Pgsql::setAttribute(PDO::ATTR_PREFETCH, 0) or
@@ -128,6 +140,7 @@ PHP NEWS
128140
(David Carlier)
129141
. socket_getsockname/socket_create/socket_bind handled AF_PACKET family socket.
130142
(David Carlier)
143+
. Added IP_BINDANY for a socket to bind to any address. (David Carlier)
131144

132145
- Sodium:
133146
. Fix overall theorical overflows on zend_string buffer allocations.
@@ -160,6 +173,7 @@ PHP NEWS
160173
is now a boolean. (David Carlier)
161174
. Fixed bug GH-16883 (gzopen() does not use the default stream context when
162175
opening HTTP URLs). (nielsdos)
176+
. Implemented GH-17668 (zlib streams should support locking). (nielsdos)
163177

164178

165179
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>

TSRM/tsrm_win32.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -636,7 +636,7 @@ TSRM_API int shmget(key_t key, size_t size, int flags)
636636
{/*{{{*/
637637
shm_pair *shm;
638638
char shm_segment[sizeof(SEGMENT_PREFIX INT_MIN_AS_STRING)];
639-
HANDLE shm_handle = NULL, info_handle = NULL;
639+
HANDLE shm_handle = NULL;
640640
BOOL created = FALSE;
641641

642642
if (key != IPC_PRIVATE) {

UPGRADING

+42-2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ PHP 8.5 UPGRADE NOTES
6161
array value reference assignment: $ctor_args = [&$valByRef]
6262
. Attempting to modify a PDOStatement during a call to PDO::fetch(),
6363
PDO::fetchObject(), PDO::fetchAll() will now throw an Error.
64+
. The value of the constants PDO::FETCH_GROUP, PDO::FETCH_UNIQUE,
65+
PDO::FETCH_CLASSTYPE, PDO::FETCH_PROPS_LATE, and PDO::FETCH_SERIALIZE
66+
has changed.
67+
. A ValueError is now thrown if PDO::FETCH_PROPS_LATE is used with a fetch
68+
mode different than PDO::FETCH_CLASS, consistent with other fetch flags.
69+
. A ValueError is now thrown if PDO::FETCH_INTO is used as a fetch mode in
70+
PDO::fetchAll(), similar to PDO::FETCH_LAZY.
6471

6572
- PDO_FIREBIRD:
6673
. A ValueError is now thrown when trying to set a cursor name that is too
@@ -88,6 +95,18 @@ PHP 8.5 UPGRADE NOTES
8895
. Added support for share handles that are persisted across multiple PHP
8996
requests, safely allowing for more effective connection reuse.
9097
RFC: https://wiki.php.net/rfc/curl_share_persistence_improvement
98+
. Added support for CURLINFO_USED_PROXY (libcurl >= 8.7.0),
99+
CURLINFO_HTTPAUTH_USED, and CURLINFO_PROXYAUTH_USED
100+
(libcurl >= 8.12.0) to the curl_getinfo() function.
101+
When curl_getinfo() returns an array, the same information
102+
is available as "used_proxy", "httpauth_used", and "proxyauth_used"
103+
keys.
104+
CURLINFO_USED_PROXY gets zero set if no proxy was used in the
105+
previous transfer or a non-zero value if a proxy was used.
106+
CURLINFO_HTTPAUTH_USED and CURLINFO_PROXYAUTH_USED get bitmasks
107+
indicating the http and proxy authentication methods that were
108+
used in the previous request. See CURLAUTH_* constants for
109+
possible values.
91110

92111
- DOM:
93112
. Added Dom\Element::$outerHTML.
@@ -100,13 +119,18 @@ PHP 8.5 UPGRADE NOTES
100119
and is not a QName because in those cases the namespace is taken
101120
from the namespace href or prefix respectively.
102121

122+
- Zlib:
123+
. flock() is now supported on zlib streams. Previously, this always
124+
failed to perform any locking action.
125+
103126
========================================
104127
3. Changes in SAPI modules
105128
========================================
106129

107130
- CLI:
108131
. Trying to set a process title that is too long with cli_set_process_title()
109132
will now fail instead of silently truncating the given title.
133+
. --ini will now print INI settings changed from the builtin default.
110134

111135
========================================
112136
4. Deprecated Functionality
@@ -155,7 +179,7 @@ PHP 8.5 UPGRADE NOTES
155179

156180
- Session:
157181
. session_start is stricter in regard of the option argument.
158-
it throws a ValueError if the whole is not a hashmap or
182+
It throws a ValueError if the whole is not a hashmap or
159183
a TypeError if read_on_close value is not a valid type
160184
compatible with int.
161185

@@ -170,7 +194,7 @@ PHP 8.5 UPGRADE NOTES
170194
. socket_create_listen, socket_bind and socket_sendto throw a
171195
ValueError if the port is lower than 0 or greater than 65535,
172196
also if any of the hints array entry is indexes numerically.
173-
. socket_addrinfo_lookup throw a TypeError if any of the hints
197+
. socket_addrinfo_lookup throws a TypeError if any of the hints
174198
values cannot be cast to a int and can throw a ValueError if
175199
any of these values overflow.
176200
. socket_set_option with MCAST_LEAVE_GROUP/MCAST_LEAVE_SOURCE_GROUP
@@ -235,6 +259,12 @@ PHP 8.5 UPGRADE NOTES
235259
9. Other Changes to Extensions
236260
========================================
237261

262+
- Fileinfo:
263+
. Upgraded to file 5.46.
264+
265+
- PCRE:
266+
. Upgraded to pcre2lib from 10.44 to 10.45.
267+
238268
- Readline:
239269
. The return types of readline_add_history(), readline_clear_history(), and
240270
readline_callback_handler_install() have been changed to true, rather
@@ -247,6 +277,11 @@ PHP 8.5 UPGRADE NOTES
247277
- Core:
248278
. PHP_BUILD_DATE.
249279

280+
- Curl:
281+
. CURLINFO_USED_PROXY.
282+
. CURLINFO_HTTPAUTH_USED.
283+
. CURLINFO_PROXYAUTH_USED.
284+
250285
- POSIX:
251286
. POSIX_SC_OPEN_MAX.
252287

@@ -259,6 +294,7 @@ PHP 8.5 UPGRADE NOTES
259294
. TCP_REUSPORT_LB_NUMA_CURDOM (FreeBSD only).
260295
. TCP_BBR_ALGORITHM (FreeBSD only).
261296
. AF_PACKET (Linux only).
297+
. IP_BINDANY (FreeBSD/NetBSD/OpenBSD only).
262298

263299
========================================
264300
11. Changes to INI File Handling
@@ -328,6 +364,10 @@ PHP 8.5 UPGRADE NOTES
328364
14. Performance Improvements
329365
========================================
330366

367+
- ReflectionProperty:
368+
. Improved performance of the following methods: getValue(), getRawValue(),
369+
isInitialized(), setValue(), setRawValue().
370+
331371
- XMLReader:
332372
. Improved property access performance.
333373

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Zend/tests/bug81626.phpt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
--TEST--
2-
Bug #81626: Error on use static:: in __сallStatic() wrapped to Closure::fromCallable()
2+
Bug #81626: Error on use static:: in __callStatic() wrapped to Closure::fromCallable()
33
--FILE--
44
<?php
55
class TestClass {
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)