PHP 7.3 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.3.0alpha4 is not recommended. PHP 7.3.33 is the latest version in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.3.0alpha4
./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:7.3.0alpha4-cli-alpine
docker pull php:7.3.0alpha4-cli
docker pull php:7.3.0alpha4-fpm-alpine
docker pull php:7.3.0alpha4-apache
docker pull php:7.3.0alpha4-fpm
Commit List
Anatol Belski
- Fixed bug #76564
ext/zip
link issues in e5ef7cbe87 - Fix compilation with Firebird < 3 in 682ca5fccd
- Remove BOM in eb41eba3fe
- Reduce error buffer size in 0630e3bc03
- Fix event log handling in startup phase in 246cb03e26
- Fix coding style in 1870a61a91
- Fix C++11 and up compatibility for
zend_finite
and more in ad790bea2e - Remove conflicting declaration in 3e1e3ab728
- Move to size_t for string length in c90f1964f9
- Add missing flag in 2c43fb49d6
- Skip test on incompatible servers in cce87471b1
- Sync callback signature with libxml2 2.9.8 in a820aab9da
- Fix build with
ZEND_RC_DEBUG
in 14db98825a - Fix condition in 98102648cb
- Switch to ioutil routines to support long path in file cache in 9ac133a0b3
- Make error messages more speaking in 2367e649bc
- Mark conditions unexpected in 81eb8e7507
- Support long path also when reading from file cache in 129c5c1181
- Fix macro in cc7b000d2c
- Fixed RecursiveDirectoryIterator with long path or with edge case length in 99fe18503a
- Avoid early allocation in 1bcc2fcb4e
- Distinguish two error messages in dbabb35ff9
- Improve test in 141072a838
- Trail long path support also for deletion in f6440c3aa6
- Regroup the ifdef'd occurrences in bf8b5b2269
- Fixed bug #76459 windows linkinfo lacks openbasedir check in 289cb0f77c
- Fixed bug #76459 windows linkinfo lacks openbasedir check in f151e048ed
- 7.0.32 next in d011da9d1a
Andrea Faulds
- Export stdClass objects using (object) cast (fixes #48016) in e4e9cd8355
cdoco
- Fixed bug #76366 (references in sub-array for filtering breaks the filter) in 47fb17b108
Christoph M. Becker
- Add test for PR #2382 in b37dafcc23
- Fix #76594: Bus Error due to unaligned access in
zend_ini.c
OnUpdateLong in 1c01b1ab48 - Fix #76574: use of undeclared identifiers INT_MAX and LONG_MAX in 271ae3eb2b
- Fix Travis build in 236ae06e0b
- Fix GH-33502: Some nullary functions don't check the number of arguments in 6c630eefcb
- Fix #73817: Incorrect entries in get_html_translation_table in 0f8c1ee76d
- Deprecate explicit use of FILTER_FLAG_SCHEME|HOST_REQUIRED in c0407d95f7
- FILTERFLAG(SCHEME|HOST)_REQUIRED are now deprecated in 79a27ccf3f
- Improve implementation of
array_key_first()
andarray_key_last()
in 9f957fd303 - Update versions for PHP 7.3.0alpha4 in 069f82bf08
David Carlier
- random_bytes improvements for FreeBSD (from 12.x serie) in 9da4e30c75
Dmitry Stogov
- Partial revert of 30156d58 in 57af94c8b9
- Another fix for bug #63217 in 28b03f9605
- Eliminated REFCOUNTED checks on persistent constant operands in SEND_VAL[_EX] and QM_ASSIGN in 004a0568f4
str_replace()
micro-optimization in 14e6c0cb8c- API cleanup. Removed unused functions (kept compatibility macros) in 7eb045d31a
- Avoid useless copying and conversion in 2edf94a637
- SEND_UNPACK should throw exception on Traversable with non-integer keys in d84ef96742
concat_function()
micro optimization in 5f19816f53- se
zval_ptr_dtor_str()
instead of zend_string_release_ex(Z_STR(*), 0) in af341213f7 - Replace legacy
zval_dtor()
byzval_ptr_dtor_nogc()
or even more specialized destructors in 4a475a4976 - Argument unpacking with Traversables and non-integer keys in 3a8f26060c
- Fixed some incorrect
zval_dtor()
usages in 5898583e94 - Removed legacy
zval_dtor()
usage. It doesn't work with zvals with refcount == 0, anyway in 6c0ddcda47 - Fixed incorrrecr
zval_dtor()
usage to replace value of argument passed by reference, that may lead to memory leaks in 265c3ed6cf - Use
zval_ptr_dtor()
instead ofzval_dtor()
in internal functions that destroy new created object (This is safer and produces less code) in b6cc4d2009 - Don't keep dangling pointer to function_name in 0d235517a3
- Replace
zval_dtor()
with specialized destructors in b6fb584505 - Fixed wrong
zval_dtor()
usage in 77c6ca7b62 - Replace
zval_dtor()
with specialized destructors in 273e194df5 - Use
zval_ptr_dtor()
instead of legacyzval_dtor()
, to destroy unused values returned from PHP functions (they may be circular data structures) in 83f6f8563c - Replace
zval_dtor()
with specialized destructors in 91fc0d1a41 - Use
zval_ptr_dtor()
instead ofzval_dtor()
in internal functions that destroy new created object (This is safer and produces less code) in 3780b027dd - Use
zval_ptr_dtor_nogc()
in JSON parser (it can't produce circular data structures) in 918a9f09f8 - Use
zval_ptr_dtor_nogc()
instead ofzval_dtor()
inplaces where circular-references are not possible in 5f83904a5d - Use
zval_ptr_dtor()
to replace bound variables (original values nay be circular structures) in d0a6b1009f - It's safer to use
zval_ptr_dtor()
for iterator keys in 43d5a3665d - Use
zval_ptr_dtor()
imstead ofzval_dtor()
in 169d454593 - Avoid useless checks in
object_init()
in 8361c0a9a7 - Optimize object to array casting in 85b2bc38e1
- Conversion related optimizations in ca40664ad6
- Optimize array to object casting in dcf7592076
- Fixed reference-counting in
zend_parse_arg_str_weak()
in 41db5f73ce - Use
zval_ptr_dtor()
instead ofzval_dtor()
in in-place array/object conversion functions in bd8e76761f - Uze ZVAL_COPY_DEREF() instead of ZVAL_DEREF() and ZVAL_COPY() in 67b4c3379a
- Fixed test in ad2719cf9c
- Eliminated reference-counting and EG(exception) check in 40551e0255
- Eliminated check in a34fedb723
- Avoid reloading in 797e87060c
- Combined few checks into one in e4be6ce0fa
- Avoid useless checks for public functions in dbb9867b3e
- Optimization in 6c61f15408
- Removed deprecated condition in 62b3464871
- Avoid useless copying in 0db8c974a5
- Use ZVAL_COPY_DEREF() in 7da042cbd8
- Avoid copying in 4182b0855f
- Fixed possible assertion/crash when PHP script can't be stored in SHM (e.g. because another process already did this) in 956ac5cbf5
- Changed structure of zend_class_entry.trait_aliases and zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance in 85ee47eda0
- Improved user iterator implementation to reduce
zend_class_entry
memory consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build in 7d4e18b05d - Merge
zend_class_entry.c
reate_object and zend_class_entry.interface_gets_implemented into the same memory lacation. The first used only by classes, the second only by magic interfaces in 5e8977bd62 - Fixed tests in 571dac8c8f
- Flatten strip_tags state machine (GCC overoptimized this function, producing enormpous amount of code) in 5cf6474277
- Fixed error messages in 70d0175a13
- Reduce overhead of case-insensitive constants deprecation for "fast path" in 88dd38ee81
- Inline FETCH_CONST and DEFINED handlers into "hybrid" executor in df60566671
Dorin Marcoci
- Boolean data type support, added in Firebird 3. Fixes #74462 in 78f23a6dd4
Dylan K. Taylor
- Fixed regex for checking libzip static lib in 77a841db48
Enno Woortmann
- Add implementation and tests for new methods -
array_key_first
(array $a) Returns the key of the first element or null -array_key_last
(array $a) Returns the key of the last element or null in 50516a6e1f
Gabriel Caruso
- Small tweaks to php scripts in c7d1c14b5c
- Small tweaks to php scripts in 96f83e40c8
- Fix failing test upstream in cf5f26b260
- Test http_response_code function in 59456974f2
- Make more tests run and fix
SKIPIF
sections in 49c193eeb3
Jakub Zelenka
- Migrate fpm_get_status test in f86f3edeef
- Update NEWS and UPGRADING for fpm_get_status addition in 2a78006adb
- Refactore FPM logging in 3e5afbf0a8
ju1ius
- adds support for named captures to
mb_ereg
&mb_ereg_search
in 212f56b7ca - adds support for named subpatterns to
mb_ereg_replace
in 8f1782678e
Kalle Sommer Nielsen
- Fixed bug #76501 (Funny message with fatal error) in c49f0fd9ac
- Added test case for bug #76539 for master only as the behavior has been restored in 6337af09dc
- Added the 'add_slashes' sanitization filter (FILTER_SANITIZE_ADD_SLASHES) as an alias to 'magic_quotes' (FILTER_SANITIZE_MAGIC_QUOTES) so we can move past our "magical" legacy in a8dce31957
- Added test to accompany the FILTER_SANITIZE_ADD_SLASHES filter in 529baa9a3d
- The session_array global is not used at all, so comment it out for now in 094c2aaf83
- Remove these two old and outdated files we never use: in 2aff1cb226
Nikita Popov
- Do not continue
extract()
ing after an exception has been thrown in e080fb6d92 - Fix string.strip_tags filter in 791f07e4f0
- Fix inverted
stristr()
argument order in mysqli test in 606de9e4a9 - Add UPGRADING for
mb_ereg
changes in 41a6625c09 - Warn if continue is used on switch in 04e3523b7d
- Remove use of case-insensitive constants in tests in a632ecd224
- Deprecate case-insensitive constants in 3588d8af12
Peter Kokot
- Remove sqlite and xmlrpc extension versions from phpinfo output in 29000091b2
- Add missing autoconf m4 quotes in b7368fe0d0
- Fix bug #76392 in 67352cb2c0
- Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS in 491f1477be
- Bump Autoconf version in configure.ac to 2.64 in 956446bdfa
- Add missing INI directives to curl phpinfo in b585f043cb
Remi Collet
- bump to 7.2.9-dev in 8bf21adb8c
- Fixed bug #62596 add getallheaders (apache_request_headers) missing function in FPM add sapi_add_request_header in public API (was add_request_header) fix arginfo for fastcgi_finish_request fucntion in 0ea4013f10
- NEW and UPGRADING in 587ab00698
- NEWS in e069b0beba
Sara Golemon
- Bump version in 268e801cb1
- Fix year in 137f22ad36
seliver
- Fixed bug #76136 (
stream_socket_get_name
enclosed IPv6 in brackets) in 95013042bf
sim1984
- Fix bug #76488 Memory leak when fetching a BLOB field in 3847a6fcb6
Stanislav Malyshev
- Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of
exif.c
in 1baeae4270 - Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data in 3462efa386
- Add NEWS in b73a108543
- Fix test in ebd5f56442
Till Backhaus
- Implement fpm_get_status in 140def4ac7
timurib
- Fix bug #76524 - ZipArchive memory leak in 08f08858f3
Xinchen Hui
- Fixed build in 36f05a80d7
- Fixed test skip in a6467af8a5
- Rename _zval_dtor_func to _ref_dtor_func in a362ae6b12
- Revert "Rename _zval_dtor_func to _ref_dtor_func" in e3355ac5ec
- Rename zval_dtor_func and ref_dotr_func in f9297387f4
- rename ref_dtor_func to rc_dtor_func in 9d1e9b73c5
- Forgotten one replacement in 4c67f7e012
Yousif Masoud
- fixes typo in daemonization DEBUG message after fork: acknoledge -> acknowledge in 9a21aa77af
Zenju
- Fix out-of bounds access in 69a49af0d3