PHP 7.2 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 7.2.0beta2 is not recommended. PHP 7.2.34 is the latest version in the series.
Downloads
Source Code
Git Clone
Use Git to clone the 7.2.0beta2 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-7.2.0beta2
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
./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
Non-Thread Safe Builds
Non-Thread Safe (NTS) builds are single-threaded PHP builds. They can be used on web servers that integrate PHP over FastCGI protocol, such as Nginx, Caddy, and IIS.
php-7.2.0beta2-x64NTS.zip (23.81 MiB)
php-7.2.0beta2-x86NTS.zip (21.89 MiB)
Thread-Safe Builds
Thread-Safe (TS) builds are multi-thread PHP builds, often used to integrate PHP as a Server API for multithreaded servers. The most common use case is using PHP as an Apache module.
php-7.2.0beta2-x64TS.zip (23.89 MiB)
php-7.2.0beta2-x86TS.zip (21.94 MiB)
Docker/Podman Containers
PHP CLI
PHP CLI Containers images only include the PHP CLI, and no FPM or Apache modules. The Alpine builds are lightweight, but may introduce incompatibilities due to their musl builds. Albeit their larger size, the Debian-based (without the "-alpine" suffix) images are more complete, and widely used.
Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:7.2.0beta2-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:7.2.0beta2-cli
PHP CLI + Web Server Integration
These container images include PHP CLI, and a web server integration. FPM container images can be integrated with web servers such as Nginx, Caddy, and Apache with Event MPM. The Apache container images include Apache web server, integrating PHP as an Apache module.
Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:7.2.0beta2-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:7.2.0beta2-apache
Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:7.2.0beta2-fpm
Commit List
Aleš Rebec
- Remove obsolete function names from CODING_STANDARDS file in f469edcf59
Anatol Belski
- fix dir separator in test in f67a3cc9bd
- remove another cygwin instance in AppVeyor run in ecad9a470f
- increment sdk version in ce06677069
- Move the define into the header to reduce diff for future upgrade in 9b3c26d4f4
- remove casts and ensure no out of bounds access in 7ec8b8d49f
- Fixed bug #74968 PHP crashes when calling mysqli_result::fetch_object with an abstract class in e405ff59f9
- fix
skipif
in 47334646db - Combine conditions for the automatic interactive console activation in 8a6afbef3f
- Ensure binary mode for OpenSSL I/O in 0ec147d301
- Followup on 0ec147d3 for another place in b7eb2c0604
- Ensure binary mode for OpenSSL I/O in 6918a68d9d
- Followup on 0ec147d3 for another place in e2b61eccb9
- Add test for bug #74903 in a769d873f8
- switch to binary sdk 2.0.9 for appveyor in cdf9178c43
- Fixed bug #74833, SID constant created with wrong module number in bd00fe81cc
- relax test on travis in b01336814d
- add missing makefile fragment for .w32 in 80d839d25a
- remove dup of the binary file, rely on a test runtime copy instead in eab66f9068
- fix NULL deref in ce1a0d971b
- fix test in 2164e3a0b8
- Test to cover the change in ce1a0d97 in a8e25fdbf8
Andrew Nester
- Fixed #74892 - Fixed URL rewriting for urls started with # in 6c32d271d2
andrewnester
- Fixed #74699 - Broken ArrayIterator unserializing in afc22828ea
- Fixed #74977 - Appending AppendIterator leads to segfault in dbc2ffba82
Benjamin W. Broersma
- Fix bug #74991 - include_path has a 4096 char (minus "DIR:") limit, in some PHAR cases in 6b1fbafdf0
Bob Weinand
- Fixed bug #74954 (null deref and segfault in
zend_generator_resume()
) in bad5d0d6c5
Carsten Brandt
- Fixed finding CURL on systems with multiarch support in 3fd7d819b8
Christopher Jones
- Expose
oci_unregister_taf_callback()
in de65a2243f - Update NEWS in 747f5b23ae
- Update NEWS in 787ea0dda5
Christoph M. Becker
- Fix #71606: Segmentation fault
mb_strcut
with HTML-ENTITIES in 418da85f15 - Skip this test if
ext/gd
is not available in 4d6f808c16 - It's
--
SKIPIF--
, not--SKIP--
in 782f45c8e6 - Shrink test image in 74a696d53b
- Shrink another large image in 2d96fdd54f
Dmitry Stogov
- Disabled compile-time constant DOUBLE to STRING evaluation (its result depends on run-time 'precision' setting) in c41d2535b1
- Constant evaluation of few more constant functions in 582882ae18
- Remove dead JMP/JMPZ/JMPNZ/JMPZNZ (DCE pass can't remove them) in 0903f6bffb
- Remove live ranges in 5274cefb4d
- Remove dead live ranges and FREE instructions in 8447b86eef
- Reset globals on startup or restart in e5beb4e828
- Convert CONCAT into FAST_CONCAT for non-object operands in 3185f8628f
- Separate the fast-patch in 112eda7525
- Keep resource of enclosing stream, because it may be referenced from other place(s) in 6fcc7134f1
- Fixed wrong edges_count re-calculation in 1b9d0c8af3
- fixed comments in 0b2c456312
Emmanuel Dreyfus
- Fixed bug #74851: Improve
uniqid()
performance in d25049cc1b
Frank Denis
- sodium ext: drop unused code in d8a14e2aad
- sodium ext: clear the hash state after we're done hashing in 557029e8e6
- sodium ext: use crypto_scalarmult_BYTES for points coordinates in 0e2a7fc829
- sodium ext: delete copypasta from
sodium_crypto_kdf_derive_from_key()
in f8ffc9622b - sodium ext: remove redundant and obsolete macros in 8a2e747a7b
- sodium ext: define crypto_aead_chacha20poly1305_ietf_KEYBYTES if needed in c499bd12f7
- sodium ext: require libsodium >= 1.0.8 in 401188cbf9
- sodium ext: don't reinvent
sodium_increment()
andsodium_add()
in 742895f60c - sodium ext: let
crypto_pwhash()
accept an optional algorithm identifier in 613c8dd7b0 - sodium ext: use unexpand -t 4
--first-only
to convert from spaces to tabs in ae99959986 - sodium ext: check that message sizes are safe, to avoid hitting
abort()
in libsodium in 1d7e1f845f - sodium ext: no need for #ifdef crypto_aead_chacha20poly1305_IETF_NPUBBYTES in 85895b2e5b
- sodium ext: check hash length for scrypt in 74d7f1d04e
- sodium ext: fix tests/pwhash_argon2i description in 650f68c36e
- sodium ext: skip scrypt if it is not available in 34df3cdafa
Issei.M
- Fix typo in UPGRADING for 7.2 in f1d7857969
Jelle van der Waa
- openssl: Add openssl_pkcs12_export_to_file tests in 23c124ec75
Joe Watkins
- bump versions in f4323248ec
- minor loop optimizations, closes #2633 in 69b48f83df
jrfnl
- Fix typo in PHP 7.2 changelog in f901e7e3c5
Julien Pauli
- Fix use of uninitialised value in
uniqid()
where more_entropy=0 in ad5222c3a6 - Fix #75015. Crash in SPL destructors in 64e6ddc7f7
- Updated NEWS in 0c0cbb43da
- Updated NEWS in f0d40286e7
- Updated NEWS in 5069d52189
Kalle Sommer Nielsen
- Lowercase the file extension in 97ff7bbb36
- Reduce EXIF test image sizes, there is still one large image left that I will look into reducing if possible (bug50845.jpg) in c62e5eb0a9
Lior Kaplan
- Add
oci8_failover.c
to config.w32, follow up for commit 1b797f7a in 2cca43b3ab
Nikita Popov
- Don't reuse compare_function operands in ecb67e59d7
- Fix DFG construction for VERIFY_RETURN in 69ec51eb02
- Fix block removal if there are duplicate successors in 96665fbfe0
- Fix incorrect propagation of
ZEND_BOOL
in pass 1 in 4672411ef5 - Fix use after free in
mb_send_mail
in 9af5b7f33d - Partial fix for bug #69267 in 0e4af9192f
- Another fix for bug #69267 in c0bcd301d3
- Fixed bug #69267 completely in 077e61fad3
- Update ucgendat for more bidi properties in 24cfbfd56f
- Update Unicode data for Unicode 10 in 706f0cf8a0
- Fixed bug #62934 in e3d25e78eb
- Optimize
array_unique()
in 6c2c7a023d
Pedro Magalhães
- Simpler fix for #74974 in 34e5d3a87d
Peter Kokot
- Update PHP 5 version to 7 in header comments in c4e11c8ef3
- Update copyright year to 2017 in 924ff6164e
Sammy Kaye Powers
- Fix
ext/sodium
display inphpinfo()
in 66729aeeeb
Sara Golemon
- Do not allow using traits/interfaces/abstract classes as stream wrappers in c9fd093127
- Fix compile-time optimization of NAN comparisons in c562d44321
- Use compatability
zend_isnan()
instead of POSIXisnan()
in 775b4b54d8 - Add
hash_hmac_algos()
for filtered is_crypto methods in a6e4a713ea - Bugfix #74993 Wrong reflection param into for some intl: lookup_*() methods in c7aa8ba0ee
- Update versions for PHP 7.2.0beta2 in 97c8df2cb9
Sergei Morozov
- Fixed bug #74936 - session_*() functions trigger a warning in read mode when the session is active in 5b12b46a19
- Fixed bug #74941 - Session fails to start after having headers sent in 9b9184a45a
Xinchen Hui
- Fixed bug #74947 (Segfault in scanner on INF number) in 95d2908814
- Update NEWS in e2b240c164
- Update NEWS in 6242230219
- Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces) in 3a7b0027f3
- Update NEWS in a8f98fc7f7
- Update NEWS in 735b34c016
- Fixed bug #74980 (Narrowing occurred during type inference) in 3df47c12f7
- Update NEWS in 53e59e4b34
- Fixed bug #74949 (null pointer dereference in _function_string) in e36c04ef48
- Update NEWS in efb1be547c
- Update NEWS in f894bb750c
- Fixed test in 9fcfe52d03
- Req #74963 (Improved error message on fetching property of non-object) in 9b87b73fec
- Update NEWS in 5856becc2b
YaoGuai
- Fix check of
mysql_commit()
return value in 51cdd3dc50