Skip to content

Commit a1a2ef0

Browse files
authored
Merge branch 'PHP-8.4' into gh21134
2 parents f101740 + 68d605f commit a1a2ef0

777 files changed

Lines changed: 38131 additions & 12474 deletions

File tree

Some content is hidden

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

.circleci/config.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ jobs:
55
resource_class: arm.medium
66
docker:
77
- image: cimg/base:current-22.04
8-
- image: mysql:8.3
8+
- image: mysql:8.4
99
environment:
1010
MYSQL_ALLOW_EMPTY_PASSWORD: true
1111
MYSQL_ROOT_PASSWORD: ''
@@ -167,6 +167,7 @@ jobs:
167167
name: Test
168168
no_output_timeout: 30m
169169
command: |
170+
export RUN_RESOURCE_HEAVY_TESTS=1
170171
sapi/cli/php run-tests.php \
171172
-d zend_extension=opcache.so \
172173
-d opcache.enable_cli=1 \

.github/CODEOWNERS

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@
1616

1717
/.github @TimWolla
1818
/build/gen_stub.php @kocsismate
19-
/ext/bcmath @Girgias @ndossche @SakiTakamachi
19+
/ext/bcmath @Girgias @SakiTakamachi
2020
/ext/curl @adoy
2121
/ext/date @derickr
2222
/ext/dba @Girgias
23-
/ext/dom @ndossche
23+
/ext/dom @devnexen
2424
/ext/ffi @dstogov
2525
/ext/gd @devnexen
2626
/ext/gettext @devnexen
2727
/ext/gmp @Girgias
28-
/ext/intl @devnexen
28+
/ext/intl @devnexen @LamentXU123
29+
/ext/libxml @devnexen
2930
/ext/json @bukka
30-
/ext/libxml @ndossche
3131
/ext/mbstring @alexdowad @youkidearitai
3232
/ext/mysqli @bukka @kamil-tekiela
3333
/ext/mysqlnd @bukka @kamil-tekiela @SakiTakamachi
@@ -43,19 +43,20 @@
4343
/ext/pdo_pgsql @devnexen @SakiTakamachi
4444
/ext/pdo_sqlite @SakiTakamachi
4545
/ext/pgsql @devnexen
46+
/ext/phar @LamentXU123
4647
/ext/random @TimWolla @zeriyoshi
4748
/ext/reflection @DanielEScherzer
4849
/ext/session @Girgias
49-
/ext/simplexml @ndossche
50-
/ext/soap @ndossche
50+
/ext/simplexml @devnexen
51+
/ext/soap @devnexen
5152
/ext/sockets @devnexen
5253
/ext/spl @Girgias
5354
/ext/standard @bukka
54-
/ext/tidy @ndossche
55-
/ext/xml @ndossche
56-
/ext/xmlreader @ndossche
57-
/ext/xmlwriter @ndossche
58-
/ext/xsl @ndossche
55+
/ext/xml @devnexen
56+
/ext/xmlreader @devnexen
57+
/ext/xmlwriter @devnexen
58+
/ext/xsl @devnexen
59+
/ext/zip @LamentXU123
5960
/main @bukka
6061
/sapi/fpm @bukka
6162
/Zend/Optimizer @dstogov

.github/actions/apk/action.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ runs:
2828
curl-dev \
2929
freetype-dev \
3030
gettext-dev \
31-
gnu-libiconv-dev \
3231
gmp-dev \
3332
icu-dev \
3433
icu-data-full \

.github/actions/apt-x64/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ runs:
6363
snmp-mibs-downloader \
6464
freetds-dev \
6565
unixodbc-dev \
66+
libsqliteodbc \
6667
llvm \
6768
clang \
6869
dovecot-core \

.github/actions/ccache/action.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: ccache
2+
inputs:
3+
name:
4+
required: true
5+
php_directory:
6+
required: false
7+
default: '.'
8+
cc:
9+
required: false
10+
default: 'gcc'
11+
cxx:
12+
required: false
13+
default: 'g++'
14+
runs:
15+
using: composite
16+
steps:
17+
- name: Get cache key
18+
shell: bash
19+
id: cache_key
20+
run: |
21+
major=$(cat ${{ inputs.php_directory }}/main/php_version.h | sed -En 's/^#define PHP_MAJOR_VERSION ([0-9]+)/\1/p')
22+
minor=$(cat ${{ inputs.php_directory }}/main/php_version.h | sed -En 's/^#define PHP_MINOR_VERSION ([0-9]+)/\1/p')
23+
release=$(cat ${{ inputs.php_directory }}/main/php_version.h | sed -En 's/^#define PHP_RELEASE_VERSION ([0-9]+)/\1/p')
24+
week=$(date +"%Y-%W")
25+
prefix="${{ inputs.name }}-$major.$minor.$release"
26+
echo "key=$prefix-$week" >> $GITHUB_OUTPUT
27+
echo "prefix=$prefix-" >> $GITHUB_OUTPUT
28+
- name: ccache
29+
uses: hendrikmuhs/ccache-action@v1.2
30+
with:
31+
key: "${{ steps.cache_key.outputs.key }}"
32+
append-timestamp: false
33+
restore-keys: "${{ steps.cache_key.outputs.prefix }}"
34+
save: ${{ github.event_name != 'pull_request' }}
35+
- name: Export CC/CXX
36+
shell: bash
37+
run: |
38+
echo "CC=ccache ${{ inputs.cc }}" >> $GITHUB_ENV
39+
echo "CXX=ccache ${{ inputs.cxx }}" >> $GITHUB_ENV

.github/actions/configure-alpine/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ runs:
4343
--enable-pcntl \
4444
--with-readline \
4545
--enable-mbstring \
46-
--with-iconv=/usr \
46+
--with-iconv \
4747
--with-curl \
4848
--with-gettext \
4949
--enable-sockets \

.github/actions/freebsd/action.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ runs:
1515
release: '13.5'
1616
usesh: true
1717
copyback: false
18+
disable-cache: true
1819
# Temporarily disable sqlite, as FreeBSD ships it with disabled double quotes. We'll need to fix our tests.
1920
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269889
2021
prepare: |
@@ -106,6 +107,7 @@ runs:
106107
export SKIP_IO_CAPTURE_TESTS=1
107108
export CI_NO_IPV6=1
108109
export STACK_LIMIT_DEFAULTS_CHECK=1
110+
export RUN_RESOURCE_HEAVY_TESTS=1
109111
sapi/cli/php run-tests.php \
110112
-P -q -j2 \
111113
-g FAIL,BORK,LEAK,XLEAK \

.github/actions/setup-windows/action.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ runs:
1616
- name: Setup PostgreSQL
1717
shell: pwsh
1818
run: |
19-
Set-Service -Name "postgresql-x64-14" -StartupType manual -Status Running
19+
$postgresService = if ($env:PHP_BUILD_CRT -eq "vs18") { "postgresql-x64-17" } else { "postgresql-x64-14" }
20+
Set-Service -Name $postgresService -StartupType manual -Status Running
2021
pwsh -Command { $env:PGPASSWORD="root"; & "$env:PGBIN\psql" -U postgres -c "ALTER USER postgres WITH PASSWORD 'Password12!';" }

.github/actions/solaris/action.yml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: Solaris
2+
inputs:
3+
configurationParameters:
4+
default: ''
5+
required: false
6+
runExtraTests:
7+
default: false
8+
required: false
9+
runs:
10+
using: composite
11+
steps:
12+
- name: Solaris
13+
uses: vmactions/solaris-vm@v1
14+
with:
15+
release: "11.4-gcc"
16+
usesh: true
17+
copyback: false
18+
disable-cache: true
19+
prepare: |
20+
cd $GITHUB_WORKSPACE
21+
pkg install bison developer/icu libzip oniguruma re2c
22+
23+
./buildconf -f
24+
CC=gcc CXX=g++ \
25+
CFLAGS="-Wno-char-subscripts" \
26+
PATH=/usr/gnu/bin:/usr/bin \
27+
PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig \
28+
./configure \
29+
--prefix=/usr/local \
30+
--enable-debug \
31+
--enable-werror \
32+
--enable-option-checking=fatal \
33+
--enable-fpm \
34+
--without-pear \
35+
--with-bz2 \
36+
--with-jpeg \
37+
--with-webp \
38+
--with-freetype \
39+
--enable-gd \
40+
--enable-exif \
41+
--with-zip \
42+
--with-zlib \
43+
--enable-soap \
44+
--enable-xmlreader \
45+
--with-xsl \
46+
--with-libxml \
47+
--enable-shmop \
48+
--enable-pcntl \
49+
--enable-mbstring \
50+
--with-curl \
51+
--enable-sockets \
52+
--with-openssl \
53+
--enable-bcmath \
54+
--enable-calendar \
55+
--enable-ftp \
56+
--enable-zend-test \
57+
--enable-dl-test=shared \
58+
--enable-intl \
59+
--with-mhash \
60+
--with-config-file-path=/etc \
61+
--with-config-file-scan-dir=/etc/php.d \
62+
${{ inputs.configurationParameters }}
63+
64+
gmake -j2
65+
mkdir /etc/php.d
66+
gmake install > /dev/null
67+
echo opcache.enable_cli=1 > /etc/php.d/opcache.ini
68+
echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
69+
echo opcache.preload_user=root >> /etc/php.d/opcache.ini
70+
run: |
71+
cd $GITHUB_WORKSPACE
72+
73+
export SKIP_IO_CAPTURE_TESTS=1
74+
export CI_NO_IPV6=1
75+
export STACK_LIMIT_DEFAULTS_CHECK=1
76+
PATH=/usr/gnu/bin:/usr/bin \
77+
sapi/cli/php run-tests.php \
78+
-P -q -j1 \
79+
-g FAIL,BORK,LEAK,XLEAK \
80+
--no-progress \
81+
--offline \
82+
--show-diff \
83+
--show-slow 1000 \
84+
--set-timeout 120
85+
86+
if test "${{ inputs.runExtraTests }}" = "true"; then
87+
sapi/cli/php run-extra-tests.php
88+
fi

.github/actions/test-alpine/action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ inputs:
33
runTestsParameters:
44
default: ''
55
required: false
6+
enableOpcache:
7+
default: 'false'
8+
required: false
69
jitType:
710
default: 'disable'
811
required: false
@@ -15,6 +18,7 @@ runs:
1518
export SKIP_IO_CAPTURE_TESTS=1
1619
export STACK_LIMIT_DEFAULTS_CHECK=1
1720
sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \
21+
${{ inputs.enableOpcache == 'true' && '-d zend_extension=opcache.so -d opcache.enable_cli=1' || '' }} \
1822
-d opcache.jit=${{ inputs.jitType }} \
1923
-d opcache.jit_buffer_size=64M \
2024
-j$(nproc) \

0 commit comments

Comments
 (0)