PHP 8.0 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 8.0.0alpha3 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.0alpha3
./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.0alpha3-cli-alpine
docker pull php:8.0.0alpha3-cli
docker pull php:8.0.0alpha3-fpm-alpine
docker pull php:8.0.0alpha3-apache
docker pull php:8.0.0alpha3-fpm
Commit List
Andy Postnikov
- Fix bug #78008:
dns_check_record()
always return true on Alpine in 2c57378bd3
Benjamin Eberlei
- Introduce error notification callbacks that are run independant of
zend_error_cb
in 6c8b94eb42 - Add error notification callbacks to UPGRADING.INTERNALS in 4890bf19aa
Christopher Broadbent
- Fixed bug #79820 in ee7c7a8e26
Christopher Jones
- Retrofit description of recent PR changes in 3804858c47
- Bump OCI8 version to 3.0 so a PHP 8 PECL release can be made in 8058776295
- Rename OCI8 classes to use standard names so arg stub parsing works in 74ca2a39a7
Christoph M. Becker
- Don't use deprecated curly brace offset syntax in 7ec3aa1871
- Don't use deprecated curly brace offset syntax in f23bd48892
- Prevent parallel test conflicts in db484b612d
- Mark test as
XFAIL
for Windows/JIT/Release builds in d59709d1ad - Enable symlink_link_linkinfo_islink* tests on Windows in 68293b19d4
- Fix skip reasons in 7edc5e5e39
- Enable further ext/standard/tests/file tests on Windows in 99aa5484e2
- Fix test cases in 2ad75ba784
- Export
php_gd_libgdimageptr_from_zval_p()
in 340e2ead77 - Unbork tests for PDO_Firebird in 6c7b5c0760
- Fix PDO_Firebird tests which assume ERRMODE_SILENT in b6e70e14bd
- Fix PDO_Firebird numeric to string conversion on Windows in c9639cffdb
- Fix test for x86 Windows in e2c17cef4b
- Fix typos in 11a628d96c
- Remove out-dated comment in 1a00d015be
- Fix tests regarding negative
fileinode()
in dd1d1191e1 - Fix readlink related memory leak in 27bb0d9164
- Enable further tests on Windows in c1b5e7a9ab
- Fix #79846: 8c67c166996 broke simple regexp in 4659c12ae0
- Fix #79805: sapi_windows_vt100_support throws TypeError in ae7554270f
- Fix #63527: DCOM does not work with Username, Password parameter in b2e3fd1e69
- 7.3 is now 7.3.22-dev in 2c0a6977dd
Chuck Adams
- (ffi) fix ifdefs for non-windows systems without long double in f06a6b4697
codinghuang
- Don't generate JSON scanner and parser during configure in 7817ff8ce1
Derick Rethans
- Revert "Partial fixed bug #79649 (Altering disable_functions from module init corrupts memory)" in 972383fda4
- Prepare for 7.4.10 in 973be68c63
Dmitry Stogov
- More accurate reference-counter inference (with support for
ext/intl/tests/bug72241.phpt
) in ab5f8f4baf - Change
zend_get_known_property_offset()
intozend_get_known_property_info()
and cleanup in fa5355ba08 - Use information about recorded classes for speculative FETCH_OBJ optimization in 9e8a8e6ab9
- Fixed tracing JIT support for $http_response_header in ad52e4cad9
- Use small counter values for testing in 69b1f3d53d
- JIT support for opcache restart in a75cf0c7e1
- Fix jumtable index calculation in 15c6b673a2
- Align jumptables in 67828abca7
- Use RIP-relative addressing in 5872bfc481
- Fixed tracing JIT support for
extract()
in 6d8d08f13b - Move
assert()
to right place in b4ae5a20b6 - Prevent trace recorder reenterancing in 5fec1558b5
- Fixed
mysqli_fetch_row()
function info in 0d9bebac00 - Bad function detection in 9d14bdb377
- Fixed register allocation for tests/lang/operators/preinc_basiclong_64bit.phpt in 31258e4550
- Make tracing JIT to support operator overloading independently from opcache.optimization_level ini directive in c60d0dc2f4
- Restore registers in 8d15a2bc8e
- Fixed tracing JIT miss-compilation in b7dd8679df
- JIT for array merging in d4fdf79add
- Improved reference-counting inference in 48963378c1
- Better support for 64-bit .aword constants in ddba2a705e
- Tracing JIT for SWITCH instructions in 7c16d11e3c
- Check type guard on result of FETCH_DIM_R/IS instructions in f74e9a4dd3
- Fixed tracing JIT for ASSIGN to typed reference in ebb94af754
- Check type guard on result of FETCH_OBJ_R/IS instructions in d50919a03b
- cleanup in 03a98d9420
- cleanup in 925909dc46
- Eliminate some reference-counting in a167e0426d
- Eliminate useless exception checks in e0af92c16e
- JMP optimization in 6b2c4be48a
- Side exit on overflow in 83478d4fe0
- Switch to tracing JIT by default in 10b09578a8
- Remove old code (BP_VAR_RW warning) in 9f0213fff3
- Fixed incorrect deoptimization info in d67adc39a0
- Fixed tracing JIT for VM without global register variables in 2b7035e824
- Keep CPU regesters used by deoptimizer in 4b13985f25
- Fixed VM interrupt handling in 774bc760af
- Fixed tracing JIT exception handling in 7cfb141f9d
- Fixed
pg_select()
function info in 91d4d2443f
Evgeny Stepanischev
- Fixed bug #79849 in ce149b0cb8
Gabriel Caruso
- Update versions for PHP 8.0.0alpha3 in 57e16009fe
George Peter Banyard
- Use HashTable directly instead of zval in 06da048622
- Use ZPP callable check in zend built in functions in 7ac9e9bf64
- Voidify some
ZEND_API
functions in 9839752a9c - Use ZPP string|array union check in PCRE extension in af1de14802
- Promote Notice to Warning in libmagic in 3f286fa89a
- Use dedicated function for illegal offset type error in 2297a6d364
- Use consistent types in 4f3eccfd4d
- Drop unused param in
zend_parse_arg_class_name_or_obj()
in fa60f57be4 - Drop useless
zend_accel_script_persistable()
function in a1fee87c9a - Use ZPP callable for PDO Sqlite in a1097677a5
- Use ZPP callable check in readline extension in d9330fc67e
Ilija Tovilo
- Implement match expression in 9fa1d13301
- Fix free of uninitialized memory in MATCH_ERROR in 1c967df5a0
Jens de Nies
- Removed the "oci_internal_debug" function and its alias. Also deprecated the "ocifetchinto" function in 11f4a5e563
Martin Schröder
- Support socketpairs in
proc_open()
in 547d98b81d
Máté Kocsis
- Add stubs for SAPIs in f328594072
- Review the usage of apostrophes in error messages in d30cd7d7e7
- Retain the original formatting character in test in 95cff3ebf2
- Addd upgrading notes about OCI8 in 6cf22529b9
- Explode
_php_image_output_ctx()
into multiple functions in 19bf66a9e4
Nat Wyatt
- Fix compilation errors when EXIF_DEBUG is defined in 6f48ccf51c
Nikita Popov
- Fixed bug #79784 in 62bec0e083
- JIT support for undefined index/offset handling in cdc4ea2a5c
- Check for undef variable exception in SEND_VAR JIT in 0e6ec974fb
- Handle dim_w undefined variable notice in JIT as well in 6259eff352
- Fixed bug #79791 in beb002a867
- Fixed bug #79793 in 77acc8a069
- Revert "More accurate reference-counter inference" in 15c265b789
- Skip special function optimization for redeclared disabled functions in 2af1d36bc5
- Report len as -1 instead of INT_MAX in e6160e99d8
- Add declared properties to LibXMLError in 22be60bb25
- Support JIT jumptables on x64 in ad6605317c
- Revert "Fixed bug #97599 (coredump in set_error_handler)" in a3cb612243
- Fix bug #79599 in a different way in 5795dfda93
- Switch back to FREE_UNFETCHED_OP_DATA in 8318379dd3
- Remove FREE_UNFETCHED concept in 613a56d1cb
- Drop dead prototype in c1e792e1aa
- Fixed bug #79817 in a72c53a070
- Fix warning in embed sapi in db43a93fc2
- Fixed bug #79818 in 6556846754
- Add missing addref for MATCH_ERROR operand in 5fc70243d7
- Fixed bug #79841 in 86e2b7bb70
- Fixed bug #79828 in 213852de78
- Check for undef var in verify return jit in 1c5f0b8a16
- Add another doctrine workaround in 000f609c26
- Add upgrading note in 0280c64a2e
- Restore warning in 2d98f0cad2
- Add upgrading note for crypt change in 0cab3fa10e
- Add user upgrading note for no_separation change in 2edc5e00ac
- Put debug function behind ifdef in e59efb3740
- Use different scratch register in 8c89f23c45
- Fixed bug #79852 in 70501b81a7
- Fix preloading property type resolution in 06162194d6
- Check for name vs ce in a few more places in 7e6b2e2e23
- Fix preloading of union typed property inherited from internal class in b702ad14c9
- Reduce scope of preload compiler_options in 27800441b5
- Remove type argument from
zend_get_zval_ptr
in f60cf0cfe7 - Fixed bug #79862 in e8430b592f
- Fix
WeakReference::create()
stub in 6d96f0f9ce - Fix azure i386 build in 376968c7a7
- Revert "Drop freetype from i386" in bc6979b79e
- Add missing param to DatePeriod::__construct() in 81d8d60250
- Throw correct exception from ArrayObject sort methods in 1cba736470
- Fix IntlGregorianCalendar constructor signature in 4903f7c5fd
- Fixed bug #79839 in 0c28b47154
- Fixed bug #79867 in 86a62eb1fc
- Add missing
image_type_to_extension()
argument in 895a22c03c - Remove some zpp quiet uses in pgsql in a20f07ee59
- Some zpp cleanup in pgsql in 658e861fbb
- Fix some pgsql arginfos in 6ff31eebb1
- Parse parameters in
zend_test_void_return()
in 6744ead1c9 - Convert SPL fatal error to Error exception in 954244b3cb
- Add missing zpp_none call in Exception::__wakeup in f9ced0d4f7
- Use string|array type in
DOMXPath::registerPhpFunctions()
in d449d1dbbf - Remove spurious return true from
DOMXPath::registerPhpFunctions()
in d625c29df7 - Only set DIT type on successful initialization in 9d2af91033
- Move SessionHandler sanity checks after zpp in 952222d067
- Use proper methods for
php_user_filter
implementation in 9002e95f7c - Revert "Switch to tracing JIT by default" in 59536d5baa
- Clean up
zend_check_magic_method_implementation
in dcaf62f3d3 - Add missing arg num check for __set_state in b466e8b754
- Unify static/non-static check for magic methods in fbbcf82ab7
- Unify magic method return type checks in 312fe2bdce
- Fix tests I missed before in 015fc638fb
- Unify magic method visibility check in 149029b9d6
- Report magic method names as written in 19de727e04
- Remove unused lc_class_name variable in 91e5452b95
- Directly assign magic methods in efce3694b7
- Add common code for magic method assignment in 7fd4212cc0
- Fix bug #79868 in 6f8d0ba0dd
- Fix bug #79857: Add upgrading note for exit dtor change in e3827cea4e
- Use zpp for PDO fetch mode in 7d3e530f4e
- Update method signature in test in 9ee16a3c12
- Fetch pdo stmt after zpp in 777aa9163d
- Preserve original ce_flags when registering class in 236ddc56a2
- Call zpp_none in PharFileInfo::__destruct() in 2160f5ce59
- Fix iptcembed func info in fda78e5965
- Remove bool return type from assert_options in 9d37a57411
Ondřej Mirtes
- UPGRADING - note about
ReflectionType::isBuiltin()
in b4dc8901c7
Paweł Tomulik
- Fix some memory bugs in
ldap.c
in 23ef0a1285 - fix some ext/ldap/tests in c6ab3084df
- enable ext/ldap/tests on azure in b291c92693
Pedro Magalhães
- Ignore inheritance rules on private methods in 272b887b7b
Remi Collet
- define COMPILER and ARCHITECTURE from environment in 4884f1be85
- #79657 was cherry-picked in 7.4.7 in 6ffe08d131
Rowan Tommins
- Improve output of tokens in Parse Errors in 55a15f32ce
Sara Golemon
- Prep NEWS for 7.2.32 release in 9588c8474e
- Prep for 7.2.33 in c68d48de9e
twosee
- Add
zend_wrong_parameter_error
to reduce the size of ZPP macro in b284ba3943 - Fixed bug #79821 in 150504e6b1
- Fixed bug #79830 introduced by fixing bug #79821 in 56dec3cc73
- Fixed BC break of
php_debug_zval_dump
in f0b2c2cb98 debug_zval_dump()
: Don't skip recursion detection on first level in c0172aa2bd
Tyson Andre
- Skip upload_2G.phpt if
disk_free_space()
<= 2GB in 0d519fa493
XXiang
- Fix bug #79787 in 3d5de7d746