PHP 8.2.0alpha2 is an old release of PHP 8.2 series. Using the latest version PHP 8.2.26 is highly recommended.
PHP 8.2 continues to receive bug fixes and security fixes until 2024-12-31.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.2.0alpha2
./buildconf
), configuring the build ./configure
, and running make
.Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
Windows binaries
Docker/Podman Containers
docker pull php:8.2.0alpha2-cli-alpine
docker pull php:8.2.0alpha2-cli
docker pull php:8.2.0alpha2-fpm-alpine
docker pull php:8.2.0alpha2-apache
docker pull php:8.2.0alpha2-fpm
Commit List
Alex Dowad
- Restore backwards-compatible mappings of 0x5C and 0x7E in SJIS in 2dc9026cbc
- Restore backwards-compatible mappings of 0x5C and 0x7E in SJIS in d62f535caa
- Restore backwards-compatible mappings for 0x5C/0x7E in SJIS (for fast conversion filter) in 13479ee2bd
- Fully use available buffer space where converting Base64 in 871e61f942
- Assert minimum size of wchar buffer in text conversion filters in 8533fccd63
- Use fast text conversion filters to implement
mb_check_encoding
in 950a7db9fe - mbfl_strlen does not need to use old conversion filters any more in 9468fa7ff2
- Use fast conversion filters to implement
php_mb_ord
in 880803a21e
Arnaud Le Blanc
Ben Ramsey
- Fix date on PHP 8.1.7 release in 59a3de3786
Calvin Buckley
- Fix handling of single-key connection strings in 445d9502bf
Christoph M. Becker
- Fix test case in 8e2378a4e0
- Fix recently broken test case in f768f3d60b
- Run PDO_Firebird tests on AppVeyor CI in b2d1d1b47d
- Revert "Run PDO_Firebird tests on AppVeyor CI" in cb3bc659bf
- Fix debug output in 12a3066b2c
- Run POD_Firebird tests on AppVeyor CI in e86acb1861
- Join shm_pair.info and .segment of Windows shm implementation in d7bdc040b4
- Update curl/tests/check_win_config.phpt in 03e72e7a87
- Use HTTPS URLs in resource files in 9e9141f712
- Fix
imagecreatefromavif()
memory leak in 036bed01ce - Fix GH-8778: Integer arithmethic with large number variants fails in 651e0cc187
- Remove superfluous snapshot_build_exclusions in 7d6821a98a
- Remove NEWS entries which are not supposed to be there in 84b570e3ae
- Escape problematic characters in CREDITS files in 8aa7e203ed
- Fix GH-8827: Intentionally closing std handles no longer possible in a8437d08a8
- Fix bad merge (b8dee9b3) in 7e8ad578ab
- Tweak $count range check of
array_fill()
in a1b05a3a40 - Fix CS (missing space) in 1a3d836fa1
cmp
- Prevent fclose on underlying SplFileObject file stream. in GH-7920
David Carlier
- Add
SO_BPF_EXTENSIONS
flag to socket in d677cc13ce - Introduction of timing attack safe bcmp implementation in bfe6f9e66a
David CARLIER
- Add
SO_SETFIB
FreeBSD socket option constant in 6b02cabc8a - intl ICU C++ code modernisation, making it closer to C++11 in GH-8650
Derick Rethans
- Fixed tests that relied on date.timezone=UTC to work in 242b9438ea
- Fix phpize to include _GNU_SOURCE by default in 2c166647f1
- Merged pull request #8807 in dcb758caee
- Fixed bug #77243 (Weekdays are calculated incorrectly for negative years) in 36990aab8e
- Skip tests on 32-bit in b23dfe4986
Dmitry Stogov
- Fix type inference in 1b45efb6fb
- Fix type inference in 729be469ae
- Fix use after free in 0b8e471b3c
- JIT: Fix missing register store in 1cd8074743
- JIT: Fix incorrect reference-counting in 971b07ea60
- Fix memory leak in 229e80c6ef
- Fix incorrect constant propagation for VERIFY_RETURN_TYPE in fa75bd0785
George Peter Banyard
- PDO Common tests should not require a driver in 938049b927
- Fix GH-8691 Add required extensions for redirected tests in c05c96b3fe
- Backport fcba0a49 in 52eb52d652
- Remove internal usage of SplFileInfo::
_bad_state_ex()
method in GH-8318 - Remove SIZEOF_OFF_T undef in PDO PGSQL driver in GH-8301
- Add true as a type in GH-8326
- Fix GH-8563 Different results for
seek()
on SplFileObject and SplTempFileObject in 6f87a5c633 - Use bool for silent parameter in SPL
directory.c
in a493c94471 - Early return in
spl_filesystem_file_rewind()
in d5d0b07b4e - Use same type error wording for alias iterable in ZPP in GH-8838
Heiko Weber
- FPM: Fix use after free in
fpm_evaluate_full_path
in a83363e361 - Fix potential use after free in
php_binary_init()
in 93a44f8c50 - Refactor
sapi_getenv()
in GH-8786
Ilija Tovilo
- Remove code duplication in
zend_std_compare_objects
in GH-8710 - Fix regression from GH-8587 in GH-8615
- Collapse more generated files in PRs in GH-8754
- Fix redundant ZSTR_VAL condition in
php_date.c
in GH-8753 - Fix GH-8661: Nullsafe in coalesce triggers undefined variable warning in 5a855ee8d6
- Allow arbitrary const expressions in backed enums in ddc0b490f7
- Specify unit in out of memory error in GH-8820
Jakub Zelenka
- Fix bug #50293 and #81713: file path checking in OpenSSL functions in b765d4cd41
- Pass signature to openssl_verify in bug81713 test in cb9a48a0c5
- Fix and improve OpenSSL VCWD path checking test for bug #50293 in 2f78c1f9d9
- Fix bug #67764: fpm: syslog.ident does not work in e330f443c9
- Fix strict prototype for
php_closelog
in d9cca443ad
jcm
- Add test for
iconv_mime_encode()
for input-charset and output-charset in 3a29c2e154 - Add test for
iconv_strpos()
internal encoding error in 804c708023
Joe Rowell
- Add function exposing HAVE_GCC_GLOBAL_REGS in GH-8359
Max Kellermann
- Add
ZEND_THREEWAY_COMPARE()
macro to fix casting underflowed unsigned to signed in GH-8220 - streams/xp_socket: eliminate
poll()
when MSG_DONTWAIT is available in 2d986310f1 - Zend,
ext/opcache
: use PR_SET_VMA_ANON_NAME (Linux 5.17) in GH-8234
Michal Prívozník
check_parameters.php
: Make the script's retval reflect errors in a87f4dd930
Máté Kocsis
Nicolas Grekas
- Fix RC=1 references of declared properties when casting objects to arrays in 96e3a9d316
Pierrick Charron
- Fix LONG_CHECK_VALID_INT in socket extension in e2d55f2f12
- Fix bad integer promotion in mysqlnd big5 charset detection in df4dd82ea0
- Indent with TAB in .h files generated by gen_stub in 6fd2b39397
- Regen missing Zend/Optimizer/zend_func_infos.h in bbc0c4c5c8
- Update gen_stub to support #if around classes in 1bcd8d394a
- Expose new constants from libcurl 7.62 to 7.80 in cec20f615d
- Add new
curl_upkeep()
function in b9af4335e3 - Add skip online test to curl_upkeep test in 65472c792c
- Fixed CURLOPT_TLSAUTH_TYPE is not treated as a string option in d84b972658
- Making PHP 8.2.0 alpha2 in 6016d36ac4
Remi Collet
- Fix GH-8781
ZipArchive::close
deletes zip file without updating stat cache in 390538af2e - NEWS in 26feb2e6f2
- NEWS in e3c5237b4f
Rowan Tommins
- Avoid accessing undefined variables in
run-tests.php
in GH-8669 - Add deprecation notices to utf8_encode and utf8_decode in d9f3ca705c
Stanislav Malyshev
- Update NEWS in a0f479f0b6
Tim Düsterhus
- Mark parameter in
ext/standard
as sensitive in 13758965b2 - Mark parameter in
ext/pdo
as sensitive in 6906d1fc8d - Mark parameter in
ext/hash
as sensitive in 0d4147f0fb - Mark parameter in
ext/ftp
as sensitive in f9fa6d0415 - Mark parameter in
ext/imap
as sensitive in 176a484df2 - Mark parameter in
ext/ldap
as sensitive in 788b7a0c6c - Mark parameter in
ext/mysqli
as sensitive in 3a4d1b6131 - Mark parameter in ext/oci8 as sensitive in ac6dbbd183
- Mark parameter in
ext/odbc
as sensitive in e85b17b934 - Mark parameter in
ext/openssl
as sensitive in c311ab7ef7 - Mark parameter in
ext/sodium
as sensitive in 8f8243318d - Mark parameter in
ext/zip
as sensitive in 1a4401d40a - Support the
#[\AllowDynamicProperties]
attribute in stubs in GH-8776
tobil4sk
- Implement #77726: Allow null character in regex patterns in 5bb3e233db
twosee
- Remove unused server_name variable in b7a1633ecd
- Use
get_active_function_or_method_name()
forzend_forbid_dynamic_call()
in GH-8762 - Add
clean_module_functions()
in GH-8763
Yurun
- Replace the use of ZVAL_BOOL() with ZVAL_TRUE() or ZVAL_FALSE() where the value is fixed in GH-8815