Version
|
Release date
|
Supported until[82]
|
Notes
|
Old version, no longer maintained : 1.0
|
8 June 1995
|
|
Officially called “Personal Home Page Tools (PHP Tools)”. This is the first use of the name “PHP”.[7]
|
Old version, no longer maintained : 2.0
|
1 November 1997
|
|
Officially called “PHP/FI 2.0”. This is the first release that could actually be characterised as PHP, being a standalone language with many features that have endured to the present day.
|
Old version, no longer maintained : 3.0
|
6 June 1998
|
20 October 2000[82]
|
Development moves from one person to multiple developers. Zeev Suraski and Andi Gutmans rewrite the base for this version.[7]
|
Old version, no longer maintained:
4.0
|
22 May 2000[83]
|
23 June 2001[82]
|
Added more advanced two-stage parse/execute tag-parsing system called the Zend engine.[84]
|
Old version, no longer maintained : 4.1
|
10 December 2001[85]
|
12 March 2002[82]
|
Introduced “superglobals” (USD _GET , USD _POST , USD _SESSION , etc.)[84]
|
Old version, no longer maintained : 4.2
|
22 April 2002[86]
|
6 September 2002[82]
|
Disabled register_globals by default. Data received over the network is not inserted directly into the global namespace anymore, closing possible security holes in applications.[84]
|
Old version, no longer maintained : 4.3
|
27 December 2002[87]
|
31 March 2005[82]
|
Introduced the command-line interface (CLI), to supplement the CGI.[84][88]
|
Old version, no longer maintained : 4.4
|
11 July 2005[89]
|
7 August 2008[82]
|
Fixed a memory corruption bug, which required breaking binary compatibility with extensions compiled against PHP version 4.3.x.[90]
|
Old version, no longer maintained : 5.0
|
13 July 2004[91]
|
5 September 2005[82]
|
Zend Engine II with a new object model.[92]
|
Old version, no longer maintained : 5.1
|
24 November 2005[93]
|
24 August 2006[82]
|
Performance improvements with introduction of compiler variables in re-engineered PHP Engine.[92] Added PHP Data Objects (PDO) as a consistent interface for accessing databases.[94]
|
Old version, no longer maintained : 5.2
|
2 November 2006[95]
|
6 January 2011[82]
|
Enabled the filter extension by default. Native JSON support.[92]
|
Old version, no longer maintained : 5.3
|
30 June 2009[96]
|
14 August 2014[82]
|
Namespace support; late static bindings, jump label (limited goto), anonymous functions, closures, PHP archives (phar), garbage collection for circular references, improved Windows support, sqlite3, mysqlnd as a replacement for libmysql as underlying library for the extensions that work with MySQL, fileinfo as a replacement for mime_magic for better MIME support, the Internationalization extension, and deprecation of ereg extension.
|
Old version, no longer maintained : 5.4
|
1 March 2012[97]
|
3 September 2015[82]
|
Trait support, short array syntax support. Removed items: register_globals , safe_mode , allow_call_time_pass_reference , session_register( ) , session_unregister( ) and
session_is_registered
( ) . Built-in web server.[98] Several improvements to existing features, performance and reduced memory requirements.
|
Old version, no longer maintained : 5.5
|
20 June 2013[99]
|
10 July 2016[100]
|
Support for generators, finally blocks for exceptions handling, OpCache (based on Zend Optimizer+) bundled in official distribution.[101]
|
Old version, no longer maintained : 5.6
|
28 August 2014[102]
|
31 December 2018[100]
|
Constant scalar expressions, variadic functions, argument unpacking, new exponentiation operator, extensions of the use statement for functions and constants, new phpdbg debugger as a SAPI module, and other smaller improvements.[103]
|
6.x
|
Not released
|
—
|
Abandoned version of PHP that planned to include native Unicode support.[104][105]
|
Old version, no longer maintained : 7.2
|
30 November 2017
|
30 November 2020[100]
|
Object parameter and return type declaration,[120] Libsodium extension,[121] abstract method overriding,[122] parameter type widening[123]
|
Old version, no longer maintained : 7.3
|
6 December 2018[124]
|
6 December 2021
|
Flexible Heredoc and Nowdoc syntax,[125] support for reference assignment and array deconstruction with list(),[126] PCRE2 support,[127] hrtime() function[128]
|
Current stable version : 8.1
|
25 November 2021[164]
|
25 November 2024
|
Explicit octal integer literal notation,[165] enumerations,[166] readonly properties,[167] first-class callable syntax,[168] new in initializers,[169] pure intersection types,[170] never return type,[171] final class constraints,[172] fibers[173]
|
Future release : 8.2
|
24 November 2022 [174]
|
24 November 2025
|
Readonly classes, [175] null, false, and true as stand-alone types, [176][177] locale-independent case conversion [178]
|
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release
|