Request for Comments: Removal of deprecated features

  • Version: 1.0
  • Date: 07/04 - 2010
  • Author: Kalle Sommer Nielsen kalle@php.net
  • Status: Implemented in PHP 5.4


This RFC focuses on removing old and long time deprecated features from the next version of PHP. Patches for each of these features will be made for the features that is going to be removed if this RFC or parts of it is accepted.


  • Original to be removed in PHP6, there isn't much point in keeping the deprecation warning in the next version of PHP, no matter if its a major or minor version - See also the magicquotes
    • safe_mode - Safe mode and its ini directives
    • register_globals - Register-globals
    • register_long_arrays - Long arrays like $HTTP_XXX_VARS (Patch available below)
    • magic_quotes_* - Magic quotes, including GPC, Sybase & runtime
    • allow_call_time_pass_reference - Call time pass by-reference (sort(&$array) and the like)
  • define_syslog_variables and its associated function - Originally agreed to be removed in PHP6 during the PHP 5.3 development
  • asp_tags - Was on the old PHP6 todo list for discussion REJECTED
  • sql_safe_mode - See also the drop_sql.safe_mode RFC
  • y2k_compliance - Always enable this ini option, we are in 2010 now. This shouldn't cause any other breakage, perhaps Derick have a comment here? (Patch available below)
  • detect_unicode/highlight_bg - Marked in the manual as a removed features of PHP6, perhaps worth revisiting HIGHLIGHT REMOVED, UNICODE REJECTED
  • enable_dl - Worth keeping since its only available in CLI/CGI/Embed? REJECTED
  • Class named constructors - Also a feature thats been in the manual as something that should be avoided and would be removed in a coming version of PHP REJECTED
  • session_register/session_is_registered/session_unregister functions - Only needed for register_globals=On
  • session.bug_compat_42 and session.bug_compat.warn - As discussed for the old PHP6
  • pdo_odbc.db2_instance_name - Never merged to PHP6 during its implementation in PHP5.1 RESTORED DUE TO THE BRANCHING OF PHP_5_3 TO TRUNK
  • undocumented and incomplete support for strings in list() operator - As from the old PHP6 NEWS file, See R233181
  • Support for Freetype 1 and GD 1 - See R197385, R197386, R203752 and family commits
  • Support for “continue” and “break” operators with non-constant operands - See R200653


  • Make a list of all deprecated features in PHP, including all that throw an E_DEPRECATED level error
  • Make a list of all “unofficial” deprecated features that may not throw errors, like all the old mysql aliases
  • Determine when/if these will ever be removed from PHP


rfc/removal-of-deprecated-features.txt · Last modified: 2017/09/22 13:28 by