PHP 8.0 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 8.0.0alpha2 is not recommended. PHP 8.0.30 is the latest version in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.0.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.0.0alpha2-cli-alpine
docker pull php:8.0.0alpha2-cli
docker pull php:8.0.0alpha2-fpm-alpine
docker pull php:8.0.0alpha2-apache
docker pull php:8.0.0alpha2-fpm
Commit List
Alex Dowad
- Increase failure threshold for 'extensive backtracking' fileinfo test in d1ebc3ab21
- Fix typos in test cases for crypt_sha{256,512} in e94afec700
- Clean house in cryptographic hashing code in 19d3e29bf5
- Update UPGRADING.INTERNALS re: removed
--disable-inline-optimization
switch in 7b4179e8da - Correct comment in
plain_wrapper.c
(refers to microseconds, not milliseconds) in e673c63989 - Fix {{{ comment to match function name for
php_replace_controlchars_ex
in c4f716a20d - Remove useless prototype for spl_heap_get_iterator in 47fae8425f
Christoph M. Becker
- Fix #79487: ::getStaticProperties() ignores property modifications in a895bb6885
- Revert "Fix #79487: ::getStaticProperties() ignores property modifications" in f3cccfde9e
- Fix #79487: ::getStaticProperties() ignores property modifications in ef2130db88
- Mark phpdbg test as
XFAIL
on Windows with JIT enabled in 26badd58b5 - Fix #69804: ::getStaticPropertyValue() throws on protected props in 26aefb750a
- Fix potential environment variable deadlock in 32257ac17f
- Properly initialize displaysize in 38177dcb42
- Convert shmop resources to opaque objects in 18f58080dc
- Fix #79749: Converting FFI instances to bool fails in aca621cf92
- Fix #79756: finfo_file crash (FILEINFO_MIME) in 816b4c1235
- Fix #63208: BSTR to PHP string conversion not binary safe in a385cfa7ad
- Fix macro redifinition warnings in debug builds in 07ff243f07
- Fix #70362: Can't
copy()
large 'data://' withopen_basedir
in 7f3bc64287 - Improve "VirtualProtect() failed" error messages in 815a2be2ed
- Update to PCRE2 10.35 in b419f96c62
- Replace ISO_8859- with ISO8859- aliases for MBString in 3516a9c8f0
- Document
zend_hash_sort
andzend_ts_hash_sort
signature change in 942f341b4e - Update to PCRE2 10.35 in 8c67c16699
- Extract test helper function for SeCreateSymbolicLinkPrivilege check in c49fb83c38
- Update
php_version.h
in 2ecb4680ad - Enable most lstatstat* tests on Windows in 1973ca21bd
- Enable readlinkrealpath* tests on Windows in 6f0b73345a
- Skip test if SeCreateSymbolicLinkPrivilege is not given in 1b961c0c42
- Fix tests for x86 Windows in a58d865f65
- Fix
sapi_windows_vt100_support()
arginfo in fecea7b89c - define build system and provider on Windows in 6cef9331fd
codinghuang
- Use correct ZPP mechanism in
get_class_methods()
in 5ea28fe6c4
David Carlier
- Haiku
proc_open
build fix, *pty api resides on the BSD library in 1cbb62e82d
Dmitry Stogov
- Improved JIT for RECV and RECV_INIT instructions in 8b12ea04ee
- Cheaper exception checks in 1434983ad1
- Avoid $this check in 94b637de5b
- Improve tracing JIT for FETCH_THIS + FETCHOBJ* in 50af4de0fe
- Optimization for +/- int(0) in 037bfabd75
- Move exception check to cold path in 4e7cac810f
- Fixed incorrect type guard in 7e940823d5
- Use cheaper
zend_hash_find_ex()
to handle IS_CONST index in 9617c2a2f6 - Fixed bug #79737 (Building embed as static fails during install step) in 46e38a1927
- Don't record "fake" closures in 1ca2fd2b16
- Tracing JIT support for
include()
and generators in 24a8065f8b - Eliminate useless exception checks in 2068f019e3
- Load constant value only if necessary in fe9b5ce322
- JMP optimization in f1536ebbb2
- Better instruction selection in fe1052b177
- Fixed IS_INDIRECT handling in eee9a05015
- Fixed IS_UNDEF handling in ca159561db
- Removed already implemented TODO comment in 2ecc597259
- More accurate reference-counter inference in b35255ad21
- More accurate reference-counter inference in ff3c40206c
Eddie Kohler
- SHA-3 Keccak_Hash: Store Keccak_HashInstance in the main context in 1e9ff7e757
- Move alignof support check into main configure.ac in ff69a8a789
- Mark Keccak functions that contain expected misaligned accesses in dc85be5456
- Make HashContexts serializable in ada776c84c
- Add unserializehash fuzzer in 75ada661b9
Fabien Villepinte
- Replace EXPECTF when possible in 0c6d06ecfa
- Fix typos in comments in 3190282f09
Gabriel Caruso
- Update versions for PHP 8.0.0alpha2 in 2b6c80f22b
George Peter Banyard
- Use standard bool type in EXIF extension in 6079bdb287
- Drop non-well formed numeric strings in strings function tests in 76643cd4f3
- Drop non-well formed numeric strings in array function tests in a9625f8b35
- Drop non-well numeric string in Intl test in 892b32d839
- Drop non-well formed numeric strings from math function tests in 562ceae7bc
- Refactor
levenshtein()
in c4a0ba8d6e
Herbert256
- Fixed bug #79030 Use usec from apache request time in 4a26628b29
Jens de Nies
- Added stubs for ext/oci8 in 58f51f8c75
Martin Schröder
- Implement Attribute Amendments in 053ef28b8d
Max Semenik
- Remove requirements for proto comments from CODING_STANDARDS in 4757998650
- Remove proto comments from C files in 2b5de6f839
moliata
- refactor: class constants parsing in 4a0d6901bb
Máté Kocsis
- Remove outdated PHPDoc from
ext/enchant
's stub in ba434fb5a6 - Add
ZEND_ACC_NO_DYNAMIC_PROPERTIES
flag to SysvMessageQueue in 16fe64d3ed - Remove unnecessary PHPDoc-alike blocks from tests in b5c7a83dca
- Add the
ZEND_ACC_NO_DYNAMIC_PROPERTIES
flag to Shmop in bcb9658b87 - Add ZPP macros for class name or object parameters in e93d20ad7e
- Update outdated arginfo hashes in 30067894fc
- Add support for forcing regeneration of arginfo files in d8dfb21b51
- Add string or object ZPP macros in b18b2c8fe5
- Fix a few comments in 91fbd12d57
Nikita Popov
- Include stub hash in generated arginfo files in c9b9f525a9
- Skip two curl tests under asan in c008fde961
- Fix verify arg jit for references in d071ab1928
- Add test case for previous commit in 59c4c8297b
- Add flag to forbid dynamic property creation on internal classes in 653e4ea1c5
- Fix crypt_r detection in 7d05bc8630
- Handle 0 / 1 more consistently in 565baf05c0
- Enforce min/max rounds in sha256/sha512 crypt in 8a8c8d4d6a
- Remove deprecated DES fallback in
crypt()
in d579b10c84 - Fix potential use-after-scope if crypt_r is used in 187d7f05c2
- Make SimpleXMLElement a RecursiveIterator in 4730b06f1d
- Introduce InternalIterator in ff19ec2df3
- Generate tabs in
generate_mime_type_map.php
in 5889c41c76 - Sort extensions alphabetically in 4c8ba98751
- Don't use iterator_funcs_ptr if it is null in f37138d2c5
- Increase timeout on sanitizer job in f9462fe6e4
- Make sorting stable in e12b9df05d
- Don't include trailing newline in comment token in 47cf18ba4e
- Avoid warning on exception in xsl ext in 049467d365
- Don't throw warning if exception thrown during dom validation in c9bc7dd110
- Fix leaks in
Phar::webPhar()
in 785497c8ba - Fix leaks in cgi strip/highlight mode in a1c6a7a3f2
- Clear last error before shutting down memory manager in afafe5443c
- Fix uninitialized reads in min/max in bcd7352b0c
- Fixed bug #79740 in c5caa05171
- Cache __unserialize() instead of
unserialize()
in 1314ccbf8c - Better leak fix for cgi -s / -w in f89d84d622
- Fixed bug #79741 in 43cd3f6814
- Simplify and fix php-cgi detection in 956dde0bc0
- Don't inline static call to instance method in fabcd9f14e
- Remove restriction on method call inlining in 315ea609da
- Make
exit()
unwind properly in 75a04eac97 - Don't accept objects instead of arrays in curl in 6e1990dea6
- Fix leak in isDefaultValueAvailable() in c2b23d8cbe
- Fix leak when setting cyclic previous exception in finally in fc6f53d426
- Extract some common fuzzer code in b0b836175c
- Add upgrading note for apache module name in 41d9423988
- Remove unnecessary
ieeefp.h
include in 6838ebb1a8 - Assume
offsetof()
exists in 917e28d77e - Remove bogus generator iterator dtor in 187a72d563
- Revert "Update to PCRE2 10.35" in e2a407c2fe
- Remove generator iterator member in 89b2483edd
- Add get_gc handle for object iterators in 312201dce4
- Add iterator get_gc function for generators in 271bc689ea
- Check that "tokenizer" extension is available in
gen_stub.php
in 1ed5a63c86 - Skip enchant test under asan in 4500309f10
- Allow different error message for errno 58 in 0a216f5edb
- Handle SO_ options only at SOL_SOCKET level in f1bf058d7c
- Remove leftover debug comment in 9b41f22fb2
- Treat attribute argument lists like normal argument lists in 6a195cacf3
- Fix func info for
get_class_methods()
in 16cb88f31a - Use
zend_string_equals
API in a couple places in 344c077400 - Fixed bug #79777 in 49396f817a
- Reuse warning function in 795d2cbd71
- Correctly determine arg name of USER_ARG_INFO functions in 75c4e613e4
ReflectionMethod::invoke()
object is not optional in a4b253c40b- Avoid some unnecessary uses of no_separation=0 in 0280b83e11
- Don't allow separation in callback filter in b406b3d624
- Disallow separation in a number of callbacks in 632766a561
- Don't allow separation in CallbackFilterIterator in df8119d3e1
- Don't allow separation in array functions in dadb92ea35
- Fixup test in 5b4bf4d3e9
- Explicitly create references in UConverter callbacks in e93aca7167
- Remove no_separation flag in 302933daea
- Fixed bug #79783 in 971e5c5186
- Fixed bug #79778 in b765f96f5f
- Fixed bug #79779 in 6a9d934b2c
- Fixed bug #79790 in eaf6303a74
- Remove
ZEND_VM_EXPORT
functionality in 002c264d07 - Remove #undefs from vm_gen in fb91611276
- Assert exception set in HANDLE_EXCEPTION() in 5d0687e895
- Assert no exception if using NEXT_OPCODE() in b48bd671b8
- Fixed bug #79792 in 64931fd3c4
- Fixed bug #78598 in 220880ad2d
Paweł Tomulik
- Promote warning to exception in
ldap_set_rebind_proc()
in b3698ed9eb - Add
ldap_count_references()
in 915abeb699
Remi Collet
- ensure all files have same date in official archives in 5c37715dfd
- display info about system used to build and its provider in ad0d2e438f
Tiffany
- [skip-ci] Add README for
ext/mysqli
tests in 48eb635a0f
Xinchen Hui
- Fixed bug #79743 (Fatal error when assigning to array property with JIT enabled) in d005a8e92b
- Move to alpha2 section in c3af355755