Skip to content

Commit 3e573f3

Browse files
committed
Merge remote-tracking branch 'origin/master' into opcache/opcache_is_script_cached_file
2 parents 1b8311b + f11ea2a commit 3e573f3

File tree

1,485 files changed

+554946
-199043
lines changed

Some content is hidden

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

1,485 files changed

+554946
-199043
lines changed

.gitattributes

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,5 @@
3030
/ext/date/tests/ossfuzz*.txt binary
3131

3232
# Vendored libraries
33-
/ext/dom/lexbor/lexbor linguist-vendored
33+
/ext/lexbor/lexbor linguist-vendored
34+
/ext/uri/uriparser linguist-vendored

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
/ext/gmp @Girgias
2828
/ext/intl @devnexen
2929
/ext/json @bukka
30+
/ext/lexbor @kocsismate @nielsdos
3031
/ext/libxml @nielsdos
3132
/ext/mbstring @alexdowad @youkidearitai
3233
/ext/mysqli @bukka @kamil-tekiela
@@ -51,6 +52,7 @@
5152
/ext/sockets @devnexen
5253
/ext/spl @Girgias
5354
/ext/standard @bukka
55+
/ext/uri @kocsismate
5456
/ext/xml @nielsdos
5557
/ext/xmlreader @nielsdos
5658
/ext/xmlwriter @nielsdos

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ body:
3434
Copyright (c) The PHP Group
3535
Zend Engine v4.3.19, Copyright (c) Zend Technologies
3636
with Zend OPcache v8.3.19, Copyright (c), by Zend Technologies
37+
render: plain
3738
validations:
3839
required: true
3940
- type: input

.github/actions/freebsd/action.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
name: FreeBSD
2+
inputs:
3+
configurationParameters:
4+
default: ''
5+
required: false
26
runs:
37
using: composite
48
steps:
@@ -80,7 +84,9 @@ runs:
8084
--with-sodium \
8185
--enable-werror \
8286
--with-config-file-path=/etc \
83-
--with-config-file-scan-dir=/etc/php.d
87+
--with-config-file-scan-dir=/etc/php.d \
88+
${{ inputs.configurationParameters }}
89+
8490
gmake -j2
8591
mkdir /etc/php.d
8692
gmake install > /dev/null

.github/labeler.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,11 @@
320320
- any-glob-to-any-file:
321321
- ext/tokenizer/**/*
322322

323+
"Extension: uri":
324+
- changed-files:
325+
- any-glob-to-any-file:
326+
- ext/uri/**/*
327+
323328
"Extension: xml":
324329
- changed-files:
325330
- any-glob-to-any-file:

.github/scripts/windows/build.bat

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ if not exist "%SDK_RUNNER%" (
4141
exit /b 3
4242
)
4343

44-
cmd /c %SDK_RUNNER% -t .github\scripts\windows\build_task.bat
44+
for /f "delims=" %%T in ('call .github\scripts\windows\find-vs-toolset.bat %PHP_BUILD_CRT%') do set "VS_TOOLSET=%%T"
45+
echo Got VS Toolset %VS_TOOLSET%
46+
cmd /c %SDK_RUNNER% -s %VS_TOOLSET% -t .github\scripts\windows\build_task.bat
4547
if %errorlevel% neq 0 exit /b 3
4648

4749
exit /b 0
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
@echo off
2+
3+
setlocal enabledelayedexpansion
4+
5+
if "%~1"=="" (
6+
echo ERROR: Usage: %~nx0 [vc14^|vc15^|vs16^|vs17]
7+
exit /b 1
8+
)
9+
10+
set "toolsets_vc14=14.0"
11+
set "toolsets_vc15="
12+
set "toolsets_vs16="
13+
set "toolsets_vs17="
14+
15+
16+
for /f "usebackq tokens=*" %%I in (`vswhere.exe -latest -find "VC\Tools\MSVC"`) do set "MSVCDIR=%%I"
17+
18+
if not defined MSVCDIR (
19+
echo ERROR: could not locate VC\Tools\MSVC
20+
exit /b 1
21+
)
22+
23+
for /f "delims=" %%D in ('dir /b /ad "%MSVCDIR%"') do (
24+
for /f "tokens=1,2 delims=." %%A in ("%%D") do (
25+
set "maj=%%A" & set "min=%%B"
26+
if "!maj!"=="14" (
27+
if !min! LEQ 9 (
28+
set "toolsets_vc14=%%D"
29+
) else if !min! LEQ 19 (
30+
set "toolsets_vc15=%%D"
31+
) else if !min! LEQ 29 (
32+
set "toolsets_vs16=%%D"
33+
) else (
34+
set "toolsets_vs17=%%D"
35+
)
36+
)
37+
)
38+
)
39+
40+
set "KEY=%~1"
41+
set "VAR=toolsets_%KEY%"
42+
call set "RESULT=%%%VAR%%%"
43+
if defined RESULT (
44+
echo %RESULT%
45+
exit /b 0
46+
) else (
47+
echo ERROR: no toolset found for %KEY%
48+
exit /b 1
49+
)

.github/scripts/windows/test.bat

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ if not exist "%SDK_RUNNER%" (
99
exit /b 3
1010
)
1111

12-
cmd /c %SDK_RUNNER% -t .github\scripts\windows\test_task.bat
12+
for /f "delims=" %%T in ('call .github\scripts\windows\find-vs-toolset.bat %PHP_BUILD_CRT%') do set "VS_TOOLSET=%%T"
13+
cmd /c %SDK_RUNNER% -s %VS_TOOLSET% -t .github\scripts\windows\test_task.bat
1314
if %errorlevel% neq 0 exit /b 3
1415

1516
exit /b 0

.github/workflows/nightly.yml

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,21 @@ on:
2323
run_macos_arm64:
2424
required: true
2525
type: boolean
26+
run_freebsd_zts:
27+
required: true
28+
type: boolean
2629
ubuntu_version:
2730
required: true
2831
type: string
2932
windows_version:
3033
required: true
3134
type: string
35+
vs_crt_version:
36+
required: true
37+
type: string
38+
skip_laravel:
39+
required: true
40+
type: boolean
3241
skip_symfony:
3342
required: true
3443
type: boolean
@@ -550,7 +559,7 @@ jobs:
550559
git clone "https://github.com/amphp/$repository.git" "amphp-$repository" --depth 1
551560
cd "amphp-$repository"
552561
git rev-parse HEAD
553-
php /usr/bin/composer install --no-progress --ignore-platform-reqs
562+
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
554563
vendor/bin/phpunit || EXIT_CODE=$?
555564
if [ ${EXIT_CODE:-0} -gt 128 ]; then
556565
X=1;
@@ -559,12 +568,12 @@ jobs:
559568
done
560569
exit $X
561570
- name: Test Laravel
562-
if: ${{ !cancelled() }}
571+
if: ${{ !cancelled() && !inputs.skip_laravel }}
563572
run: |
564573
git clone https://github.com/laravel/framework.git --depth=1
565574
cd framework
566575
git rev-parse HEAD
567-
php /usr/bin/composer install --no-progress --ignore-platform-reqs
576+
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
568577
# Hack to disable a test that hangs
569578
php -r '$c = file_get_contents("tests/Filesystem/FilesystemTest.php"); $c = str_replace("public function testSharedGet()", "#[\\PHPUnit\\Framework\\Attributes\\Group('"'"'skip'"'"')]\n public function testSharedGet()", $c); file_put_contents("tests/Filesystem/FilesystemTest.php", $c);'
570579
php vendor/bin/phpunit --exclude-group skip || EXIT_CODE=$?
@@ -581,7 +590,7 @@ jobs:
581590
git clone "https://github.com/reactphp/$repository.git" "reactphp-$repository" --depth 1
582591
cd "reactphp-$repository"
583592
git rev-parse HEAD
584-
php /usr/bin/composer install --no-progress --ignore-platform-reqs
593+
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
585594
vendor/bin/phpunit || EXIT_CODE=$?
586595
if [ $[EXIT_CODE:-0} -gt 128 ]; then
587596
X=1;
@@ -595,7 +604,7 @@ jobs:
595604
git clone https://github.com/revoltphp/event-loop.git --depth=1
596605
cd event-loop
597606
git rev-parse HEAD
598-
php /usr/bin/composer install --no-progress --ignore-platform-reqs
607+
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
599608
vendor/bin/phpunit || EXIT_CODE=$?
600609
if [ ${EXIT_CODE:-0} -gt 128 ]; then
601610
exit 1
@@ -606,7 +615,7 @@ jobs:
606615
git clone https://github.com/symfony/symfony.git --depth=1
607616
cd symfony
608617
git rev-parse HEAD
609-
php /usr/bin/composer install --no-progress --ignore-platform-reqs
618+
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
610619
php ./phpunit install
611620
# Test causes a heap-buffer-overflow but I cannot reproduce it locally...
612621
php -r '$c = file_get_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php"); $c = str_replace("public function testSanitizeDeepNestedString()", "/** @group skip */\n public function testSanitizeDeepNestedString()", $c); file_put_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php", $c);'
@@ -627,15 +636,15 @@ jobs:
627636
git clone https://github.com/sebastianbergmann/phpunit.git --branch=main --depth=1
628637
cd phpunit
629638
git rev-parse HEAD
630-
php /usr/bin/composer install --no-progress --ignore-platform-reqs
639+
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
631640
php ./phpunit || EXIT_CODE=$?
632641
if [ ${EXIT_CODE:-0} -gt 128 ]; then
633642
exit 1
634643
fi
635644
- name: 'Symfony Preloading'
636645
if: ${{ !cancelled() && !inputs.skip_symfony }}
637646
run: |
638-
php /usr/bin/composer create-project symfony/symfony-demo symfony_demo --no-progress --ignore-platform-reqs
647+
php /usr/bin/composer create-project symfony/symfony-demo symfony_demo --no-progress --ignore-platform-req=php+
639648
cd symfony_demo
640649
git rev-parse HEAD
641650
sed -i 's/PHP_SAPI/"cli-server"/g' var/cache/dev/App_KernelDevDebugContainer.preload.php
@@ -646,7 +655,7 @@ jobs:
646655
git clone https://github.com/WordPress/wordpress-develop.git wordpress --depth=1
647656
cd wordpress
648657
git rev-parse HEAD
649-
php /usr/bin/composer install --no-progress --ignore-platform-reqs
658+
php /usr/bin/composer install --no-progress --ignore-platform-req=php+
650659
cp wp-tests-config-sample.php wp-tests-config.php
651660
sed -i 's/youremptytestdbnamehere/test/g' wp-tests-config.php
652661
sed -i 's/yourusernamehere/root/g' wp-tests-config.php
@@ -1028,7 +1037,7 @@ jobs:
10281037
PHP_BUILD_OBJ_DIR: C:\obj
10291038
PHP_BUILD_CACHE_SDK_DIR: C:\build-cache\sdk
10301039
PHP_BUILD_SDK_BRANCH: php-sdk-2.3.0
1031-
PHP_BUILD_CRT: ${{ inputs.windows_version == '2022' && 'vs17' || 'vs16' }}
1040+
PHP_BUILD_CRT: ${{ inputs.vs_crt_version }}
10321041
PLATFORM: ${{ matrix.x64 && 'x64' || 'x86' }}
10331042
THREAD_SAFE: "${{ matrix.zts && '1' || '0' }}"
10341043
INTRINSICS: "${{ matrix.zts && 'AVX2' || '' }}"
@@ -1049,7 +1058,13 @@ jobs:
10491058
- name: Test
10501059
run: .github/scripts/windows/test.bat
10511060
FREEBSD:
1052-
name: FREEBSD
1061+
strategy:
1062+
fail-fast: false
1063+
matrix:
1064+
zts: [true, false]
1065+
exclude:
1066+
- zts: ${{ !inputs.run_freebsd_zts && true || '*never*' }}
1067+
name: "FREEBSD_${{ matrix.zts && 'ZTS' || 'NTS' }}"
10531068
runs-on: ubuntu-latest
10541069
steps:
10551070
- name: git checkout
@@ -1058,3 +1073,6 @@ jobs:
10581073
ref: ${{ inputs.branch }}
10591074
- name: FreeBSD
10601075
uses: ./.github/actions/freebsd
1076+
with:
1077+
configurationParameters: >-
1078+
--${{ matrix.zts && 'enable' || 'disable' }}-zts

.github/workflows/root.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,13 @@ jobs:
5555
run_alpine: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
5656
run_linux_ppc64: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
5757
run_macos_arm64: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
58+
run_freebsd_zts: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) || matrix.branch.version[0] >= 9 }}
5859
ubuntu_version: ${{
5960
(((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 5) || matrix.branch.version[0] >= 9) && '24.04')
6061
|| '22.04' }}
61-
windows_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9) && '2022' || '2019' }}
62+
windows_version: '2022'
63+
vs_crt_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) && 'vs17') || 'vs16' }}
64+
skip_laravel: ${{ matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1 }}
6265
skip_symfony: ${{ matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1 }}
6366
skip_wordpress: ${{ matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1 }}
6467
secrets: inherit

0 commit comments

Comments
 (0)