PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

What is PHP?

PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. If you are new to PHP and want to get some idea of how it works, try the introductory tutorial. After that, check out the online manual, and the example archive sites and some of the other resources available in the links section.

Ever wondered how popular PHP is? see the Netcraft Survey.

Thanks To

Related sites

Community

Syndication

You can grab our news as an Atom feed.

Upcoming Events [add]

February

Conferences

29. phpLondon Conference

User Group Events

26. New York
26. AzPHP
26. Malaysia PHP Meetup
26. PHP Usergroup Karlsruhe
26. PHPUG Wuerzburg
27. Irish PHP Users Group meeting
27. Burlington, VT PHP Users Group
28. Arabic PHP Group Meeting
28. Malaysia PHP User Group Meet Up
28. Sandy PHP Group

March

User Group Events

2. PHP meeting online in China
2. meeting de LAMPistas en La Paz
4. SW Florida Linux Users Group
4. PDXPHP monthly meeting
5. Meeting PHP Usergroup OWL
5. PHP Meetup Columbia MD
5. BostonPHP
5. Berlin PHP Usergroup Meeting
6. SDPHP (San Diego, CA)
6. Hannover
6. Meetup Day
6. Omaha PHP Users Group Meetup
6. PHP London
6. The Houston PHP Users Group
6. Boston PHP Meetup
6. Atlanta PHP User Group
6. Manchester UK - PHP Group
6. EdPUG - Edinburgh PHP User Group
6. Sydney PHP Group meetings
6. PHP UG Meetup Auckland
6. Cape Town PHP Users Group
6. Jacksonville User Group
6. Seattle PHP Meetup Group
6. The Copenhagen PHP Meetup Group
6. SF PHP Meetup
6. West Suburban Chicago PHP Meetup
7. Köln/Bonn
7. Iran PHP developer's meetup
8. PHP User Group Nanaimo, BC/CA
8. PEA meeting from phpchina
11. Hamburg
11. Dallas PHP/MySQL Users Group
11. Dallas PHP Users Group (DPUG)
11. Austin PHP Meetup
11. OKC PHP Meetup
11. Seattle PHP Users Group
11. Intro to Symfony
12. Wash DC PHP Developers Group
12. Stuttgart
12. OpenSource JobFair & Cocktail
12. OCPHP Roundtable March Event
13. Meeting usergroup Dortmund
13. PHP Usergroup Frankfurt/Main
13. Melbourne PHP User Group
15. Kansas City
15. Miami Linux Users Group
15. Twin Cities PHP
15. Los Angeles LAMPsig
18. Madison PHP User's Group
18. PHP Brisbane Meetup Group
19. Miami PHP User Group
19. Broward Php Usergroup
19. Nashville PHP Users Group
19. Chicago PHP User Group Brunch
20. TriPUG
20. OINK-PUG (Cincinnati, Ohio)
20. Utah PHP Users Group Meeting
22. Sacramento PHP Group
25. New York
25. AzPHP
25. Malaysia PHP Meetup
25. PHP Usergroup Karlsruhe
25. PHPUG Wuerzburg
26. Irish PHP Users Group meeting
27. Arabic PHP Group Meeting
27. Malaysia PHP User Group Meet Up
27. Sandy PHP Group
29. Miami Linux Meetup
31. Long Island PHP Users Group

Training

1. PHP & AJAX -Construindo Websites
2. Ahmedabad PHP Group Training
3. MySQL Spain
3. Curso PHP Madrid
3. PHP E-Learning/Germany
3. Curso on-line ActionScript / PHP
3. PHP & MySQL Training in Kassel
3. PHP & MySQL com Dreamweaver MX
3. Curso on-line de PHP
3. PHP & MYSQL-Construindo WebSites
3. FastTrack to PHP / MySQL
3. Advanced PHP w/Smarty Templates
3. PHP Boot Camp Raleigh, NC
3. PHP Boot Camp (Raleigh, NC)
4. Curso on-line de PHP-MySQL
4. PHP Class at CalTek
5. PHP Training - Chennai - India
5. PHP Training in San Francisco
5. PHP Training in Germany
6. Curso de PHP Avanzado en Bilbao
8. JavaScript and PHP/MySQL course
10. PHP para Expertos Curso on-line
10. Curso PHP y MySQL
10. Selection of one day workshops
10. Advanced PHP Programming (NC)
15. Swiss Joomla! 1.5 Bootcamp by Pr
17. PHP & MySQL Training / Gießen
17. Introduction to PHP w/Databases
17. PHP Webserver-Programmierung
17. PHP Boot Camp (City, State)
17. Formation PHP Expert certifie
18. Cursos de PHP en Bilbao
20. Chennai PHP Training
24. PHP Intro Course South Africa
25. UK PHP Training
25. Formation maitrise PHP a Paris
26. Extreme PHP Training in Manila
27. PHP Brasil - Training
31. Basic PHP Course
31. PHP & MySQL - Programmierung

PHP 4.4.8 Released

[03-Jan-2008]

The PHP development team would like to announce the immediate availability of PHP 4.4.8. It continues to improve the security and the stability of the 4.4 branch and all users are strongly encouraged to upgrade to it as soon as possible. This release wraps up all the outstanding patches for the PHP 4.4 series, and is therefore the last normal PHP 4.4 release. If necessary, releases to address security issues could be made until 2008-08-08.

Security Enhancements and Fixes in PHP 4.4.8:

  • Improved fix for MOPB-02-2007.
  • Fixed an integer overflow inside chunk_split(). Identified by Gerhard Wagner.
  • Fixed integer overlow in str[c]spn().
  • Fixed regression in glob when open_basedir is on introduced by #41655 fix.
  • Fixed money_format() not to accept multiple %i or %n tokens.
  • Added "max_input_nesting_level" php.ini option to limit nesting level of input variables. Fix for MOPB-03-2007.
  • Fixed INFILE LOCAL option handling with MySQL - now not allowed when open_basedir or safe_mode is active.
  • Fixed session.save_path and error_log values to be checked against open_basedir and safe_mode (CVE-2007-3378).

For a full list of changes in PHP 4.4.8, see the ChangeLog.


PHP 5.2.5 Released

[08-Nov-2007]

The PHP development team would like to announce the immediate availability of PHP 5.2.5. This release focuses on improving the stability of the PHP 5.2.x branch with over 60 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

Further details about the PHP 5.2.5 release can be found in the release announcement for 5.2.5, the full list of changes is available in the ChangeLog for PHP 5.

Security Enhancements and Fixes in PHP 5.2.5:

  • Fixed dl() to only accept filenames. Reported by Laurent Gaffie.
  • Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887). Reported by Laurent Gaffie.
  • Fixed htmlentities/htmlspecialchars not to accept partial multibyte sequences. Reported by Rasmus Lerdorf
  • Fixed possible triggering of buffer overflows inside glibc implementations of the fnmatch(), setlocale() and glob() functions. Reported by Laurent Gaffie.
  • Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable in .htaccess due to the security implications. Reported by SecurityReason.
  • Fixed bug #42869 (automatic session id insertion adds sessions id to non-local forms).
  • Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten with ini_set()).

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.5.


The new documentation build system is ready for testing

[03-Oct-2007]

The PHP documentation team is pleased to announce the initial release of the new build system that generates the PHP Manual. Written in PHP, PhD ([PH]P based [D]ocBook renderer) builds are now available for viewing at docs.php.net. Everyone is encouraged to test and use this system so that bugs will be found and squashed.

Once the new build system is stable, expect additional changes to the PHP manual that will include an improved navigation system and styling for OOP documentation.

Feel free to set this developmental mirror as your default by using my.php.


PHP 5.2.4 Released

[30-Aug-2007]

The PHP development team would like to announce the immediate availability of PHP 5.2.4. This release focuses on improving the stability of the PHP 5.2.X branch with over 120 various bug fixes in addition to resolving several low priority security bugs. All users of PHP are encouraged to upgrade to this release.

Further details about the PHP 5.2.4 release can be found in the release announcement for 5.2.4, the full list of changes is available in the ChangeLog for PHP 5.

Security Enhancements and Fixes in PHP 5.2.4:

  • Fixed a floating point exception inside wordwrap() (Reported by Mattias Bengtsson)
  • Fixed several integer overflows inside the GD extension (Reported by Mattias Bengtsson)
  • Fixed size calculation in chunk_split() (Reported by Gerhard Wagner)
  • Fixed integer overflow in str[c]spn(). (Reported by Mattias Bengtsson)
  • Fixed money_format() not to accept multiple %i or %n tokens. (Reported by Stanislav Malyshev)
  • Fixed zend_alter_ini_entry() memory_limit interruption vulnerability. (Reported by Stefan Esser)
  • Fixed INFILE LOCAL option handling with MySQL extensions not to be allowed when open_basedir or safe_mode is active. (Reported by Mattias Bengtsson)
  • Fixed session.save_path and error_log values to be checked against open_basedir and safe_mode (CVE-2007-3378) (Reported by Maksymilian Arciemowicz)
  • Fixed a possible invalid read in glob() win32 implementation (CVE-2007-3806) (Reported by shinnai)
  • Fixed a possible buffer overflow in php_openssl_make_REQ (Reported by zatanzlatan at hotbrev dot com)
  • Fixed an open_basedir bypass inside glob() function (Reported by dr at peytz dot dk)
  • Fixed a possible open_basedir bypass inside session extension when the session file is a symlink (Reported by c dot i dot morris at durham dot ac dot uk)
  • Improved fix for MOPB-03-2007.
  • Corrected fix for CVE-2007-2872.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.4.


PHP 4 end of life announcement

[13-Jul-2007]

Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 is on the way, PHP 4 will be discontinued.

The PHP development team hereby announces that support for PHP 4 will continue until the end of this year only. After 2007-12-31 there will be no more releases of PHP 4.4. We will continue to make critical security fixes available on a case-by-case basis until 2008-08-08. Please use the rest of this year to make your application suitable to run on PHP 5.

For documentation on migration for PHP 4 to PHP 5, we would like to point you to our migration guide. There is additional information available in the PHP 5.0 to PHP 5.1 and PHP 5.1 to PHP 5.2 migration guides as well.


PHP 5.2.3 Released

[31-May-2007]

The PHP development team would like to announce the immediate availability of PHP 5.2.3. This release continues to improve the security and the stability of the 5.X branch as well as addressing two regressions introduced by the previous 5.2 releases. These regressions relate to the timeout handling over non-blocking SSL connections and the lack of HTTP_RAW_POST_DATA in certain conditions. All users are encouraged to upgrade to this release.

Further details about the PHP 5.2.3 release can be found in the release announcement for 5.2.3, the full list of changes is available in the ChangeLog for PHP 5.

Security Enhancements and Fixes in PHP 5.2.3:

  • Fixed an integer overflow inside chunk_split() (by Gerhard Wagner, CVE-2007-2872)
  • Fixed possible infinite loop in imagecreatefrompng. (by Xavier Roche, CVE-2007-2756)
  • Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser, CVE-2007-1900)
  • Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()) (by bugs dot php dot net at chsc dot dk)
  • Improved fix for CVE-2007-1887 to work with non-bundled sqlite2 lib.
  • Added mysql_set_charset() to allow runtime altering of connection encoding.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.3.


PHP 5.2.2 and PHP 4.4.7 Released

[02-May-2007]

The PHP development team would like to announce the immediate availability of PHP 5.2.2 and availability of PHP 4.4.7. These releases are major stability and security enhancements of the 5.x and 4.4.x branches, and all users are strongly encouraged to upgrade to it as soon as possible. Further details about the PHP 5.2.2 release can be found in the release announcement for 5.2.2, the full list of changes is available in the ChangeLog for PHP 5. Details about the PHP 4.4.7 release can be found in the release announcement for 4.4.7, the full list of changes is available in the ChangeLog for PHP 4.

Security Enhancements and Fixes in PHP 5.2.2 and PHP 4.4.7:

  • Fixed CVE-2007-1001, GD wbmp used with invalid image size (by Ivan Fratric)
  • Fixed asciiz byte truncation inside mail() (MOPB-33 by Stefan Esser)
  • Fixed a bug in mb_parse_str() that can be used to activate register_globals (MOPB-26 by Stefan Esser)
  • Fixed unallocated memory access/double free in in array_user_key_compare() (MOPB-24 by Stefan Esser)
  • Fixed a double free inside session_regenerate_id() (MOPB-22 by Stefan Esser)
  • Added missing open_basedir & safe_mode checks to zip:// and bzip:// wrappers. (MOPB-21 by Stefan Esser).
  • Fixed CRLF injection inside ftp_putcmd(). (by loveshell[at]Bug.Center.Team)
  • Fixed a remotely trigger-able buffer overflow inside bundled libxmlrpc library. (by Stanislav Malyshev)

Security Enhancements and Fixes in PHP 5.2.2 only:

  • Fixed a header injection via Subject and To parameters to the mail() function (MOPB-34 by Stefan Esser)
  • Fixed wrong length calculation in unserialize S type (MOPB-29 by Stefan Esser)
  • Fixed substr_compare and substr_count information leak (MOPB-14 by Stefan Esser) (Stas, Ilia)
  • Fixed a remotely trigger-able buffer overflow inside make_http_soap_request(). (by Ilia Alshanetsky)
  • Fixed a buffer overflow inside user_filter_factory_create(). (by Ilia Alshanetsky)
  • Fixed a possible super-global overwrite inside import_request_variables(). (by Stefano Di Paola, Stefan Esser)
  • Limit nesting level of input variables with max_input_nesting_level as fix for (MOPB-03 by Stefan Esser)

Security Enhancements and Fixes in PHP 4.4.7 only:

  • XSS in phpinfo() (MOPB-8 by Stefan Esser)

While majority of the issues outlined above are local, in some circumstances given specific code paths they can be triggered externally. Therefor, we strongly recommend that if you use code utilizing the functions and extensions identified as having had vulnerabilities in them, you consider upgrading your PHP.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.2.

Update: May 4th; The PHP 4.4.7 Windows build was updated due to the faulty Apache2 module shipped with the original

Update: May 23th; By accident a couple of fixes where listed as fixed in both PHP 5.2.2 and 4.4.7 but where however only fixed in PHP 5.2.2. The PHP 4 ChangeLog was not affected.


The PHP.net Google Summer of Code

[13-Apr-2007]

The PHP team is once again proud to participate in the Google Summer of Code. Seven students will "flip bits instead of burgers" this summer:

  • Mentored by Michael Wallner, Hannes Magnusson will work on LiveDocs, which is a "tool to display DocBook XML files in a web browser on the fly, without the need of building all HTML target files first". This project will be of great value to the PHP Documentation Team.
  • The PHP Interpreter uses reference counting to keep track of which objects are no longer referenced and thus can be destroyed. A major weakness in the current implementation is that it cannot detect reference cycles, that is objects that reference each other in a circular graph structure which is not referenced itself from outside the circle. Mentored by Derick Rethans, David Wang will implement a new reference counting algorithm that will alleviate this problem.
  • Xdebug provides a range of useful functionality for PHP developers, including detailed error information, code coverage and profiling support, and support for remote debugging using the GDB and DBGp protocols. Mentored by Xdebug's creator, Derick Rethans, Adam Harvey will develop a cross-platform GUI application that implements the DBGp protocol and allows PHP applications to be debugged using Xdebug in a development environment agnostic fashion.
  • Mentored by Lukas Smith, Konsta Vesterinen will work on the object-relational mapper Doctrine.
  • Mutation Testing, or Automated Error Seeding, is an approach where the testing tool makes some change to the tested code, runs the tests, and if the tests pass displays a message saying what it changed. This approach is different than code coverage analysis, because it can find code that is executed by the running of tests but not actually tested. Mentored by Sebastian Bergmann, Mike Lewis will implement Mutation Testing for PHPUnit.
  • Mentored by Helgi Þormar Þorbjörnsson, Igor Feghali will add support for foreign keys to MDB2_Schema, a package that "enables users to maintain RDBMS independant schema files in XML that can be used to create, alter and drop database entities and insert data into a database".
  • Mentored by David Coallier, Nicolas Bérard-Nault will refactor the internals of Jaws, a Framework and Content Management System for building dynamic web sites, for PHP 6.

PHP 4.4.6 Released

[28-Feb-2007]

The PHP development team would like to announce the immediate availability of PHP 4.4.6.

The main issue that this release addresses is a crash problem that was introduced in PHP 4.4.5. The problem occurs when session variables are used while register_globals is enabled.

Details about the PHP 4.4.6 release can be found in the release announcement for 4.4.6, the full list of changes is available in the ChangeLog for PHP 4.


PHP 5.2.1 and PHP 4.4.5 Released

[07-Feb-2007]

The PHP development team would like to announce the immediate availability of PHP 5.2.1 and availability of PHP 4.4.5. These releases are major stability and security enhancements of the 5.x and 4.4.x branches, and all users are strongly encouraged to upgrade to it as soon as possible. Further details about the PHP 5.2.1 release can be found in the release announcement for 5.2.1, the full list of changes is available in the ChangeLog for PHP 5. Details about the PHP 4.4.5 release can be found in the release announcement for 4.4.5, the full list of changes is available in the ChangeLog for PHP 4.

Security Enhancements and Fixes in PHP 5.2.1 and PHP 4.4.5:

  • Fixed possible safe_mode & open_basedir bypasses inside the session extension.
  • Fixed unserialize() abuse on 64 bit systems with certain input strings.
  • Fixed possible overflows and stack corruptions in the session extension.
  • Fixed an underflow inside the internal sapi_header_op() function.
  • Fixed non-validated resource destruction inside the shmop extension.
  • Fixed a possible overflow in the str_replace() function.
  • Fixed possible clobbering of super-globals in several code paths.
  • Fixed a possible information disclosure inside the wddx extension.
  • Fixed a possible string format vulnerability in *print() functions on 64 bit systems.
  • Fixed a possible buffer overflow inside ibase_{delete,add,modify}_user() functions.
  • Fixed a string format vulnerability inside the odbc_result_all() function.

Security Enhancements and Fixes in PHP 5.2.1 only:

  • Prevent search engines from indexing the phpinfo() page.
  • Fixed a number of input processing bugs inside the filter extension.
  • Fixed allocation bugs caused by attempts to allocate negative values in some code paths.
  • Fixed possible stack/buffer overflows inside zip, imap & sqlite extensions.
  • Fixed several possible buffer overflows inside the stream filters.
  • Memory limit is now enabled by default.
  • Added internal heap protection.
  • Extended filter extension support for $_SERVER in CGI and apache2 SAPIs.

Security Enhancements and Fixes in PHP 4.4.5 only:

  • Fixed possible overflows inside zip & imap extensions.
  • Fixed a possible buffer overflow inside mail() function on Windows.
  • Unbundled the ovrimos extension.

The majority of the security vulnerabilities discovered and resolved can in most cases be only abused by local users and cannot be triggered remotely. However, some of the above issues can be triggered remotely in certain situations, or exploited by malicious local users on shared hosting setups utilizing PHP as an Apache module. Therefore, we strongly advise all users of PHP, regardless of the version to upgrade to the 5.2.1 or 4.4.5 releases as soon as possible.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.1.

Update: Feb 14th; Added release information for PHP 4.4.5.

Update: Feb 12th; The Windows install package had problems with upgrading from previous PHP versions. That has now been fixed and new file posted in the download section.


The front page has changed

[07-Feb-2007]

The news on the front page of php.net has changed, the conference announcements are now located on their own page. The idea is to keep php.net specific news clear and also opens the door for additional news entries, like for RC releases. More changes are on the way so keep an eye out.


PHP Manual Updates

[02-Feb-2007]

The PHP documentation team is proud to present to the PHP community a few fixes and tweaks to the PHP Manual, including:

  • an improved, XSL-based build system that will deliver compiled manuals to mirrors in a more timely manner (goodbye dsssl)
  • manual pages can now contain images (see imagearc() for an example)
  • updated function version information and capture system (fewer "no version information, might be only in CVS" messages)
  • ... and more to come!

Please help us improve the documentation by submitting bug reports, and adding notes to undocumented functions.


News Archive

 
Atom | show source | credits | stats | sitemap | contact | advertising | mirror sites