The 2.4 upgrade guide will describe what changes are necessary to apply to existing installations that need to run on PHP 5.4.
From our internal notes, this mainly boils down to:
* Replace HTTP_*_VARS with super globals (eg, HTTP_GET_VARS to _GET)
* Replace session_register, session_unregister, and session_is_registered with $_SESSION['key'] = $value, isset($_SESSION['key']), and unset($_SESSION['key'])
* Replace global session variables with $_SESSION['key'] (and remove "global $session_var" from functions)
* magic_quotes deprecated since v5.3 but compatibility.php works around it as if it was on; either this is kept or we look at changing this to work as if it was off.
From the PHP 5.4 Alpha 1 release notes:
* Removed: break/continue $var syntax
break/continue is used, but not with the $var syntax so this has no affect.
* Removed: register_globals, allow_call_time_pass_reference, and register_long_arrays ini options
This only affects v2.2/v2.3 with register_long_arrays. register_globals is only needed for <PHP4.3 due to the session class; register_globals can be removed with the session changes.
* Removed: session_is_regisitered(), session_registered(), and session_unregister()
This affects v2.2/v2.3 with the session functions file and how session variables are set and accessed (in the global scope).
That should be it, and would bring the minimum requirement to PHP 4.1 due to the super global variables.
Edited by Harald Ponce de Leon, 23 September 2011 - 12:54 PM.