PHP 5.4 stuff I'm jazzed about...
I'm always excited to read updates to the NEWS file for each PHP version (yes, I am that big of a PHP fan boy) - and PHP 5.4 has quite a handful of noteworthy changes. I started cutting them out and decided to publish my "this is interesting" or "this is awesome" list...
This is as of PHP 5.4.0 RC6. Note that I didn't put in anything related to OO, as I despise the obsession with OO now in PHP and do my best to live without it.
Misc. notable changes:
- Added built-in web server that is intended for testing purpose. (Moriyoshi)
- Changed default value of "default_charset" php.ini option from ISO-8859-1 to UTF-8. (Rasmus)
- Added array dereferencing support. (Felipe)
- Added header_register_callback() which is invoked immediately prior to the sending of headers and after default headers have been added. (Scott)
- Changed http_response_code() to be able to set a response code. (Kalle)
- Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam)
- Changed silent conversion of array to string to produce a notice. (Patrick)
- Removed support for putenv("TZ=..") for setting the timezone. (Derick)
- Removed the timezone guessing algorithm in case the timezone isn't set with date.timezone or date_default_timezone_set(). Instead of a guessed timezone, "UTC" is now used instead. (Derick)
- ext/mysql, mysqli and pdo_mysql now use mysqlnd by default. (Johannes) )I think this is in 5.3 though too?)
- Expose session status via new function, session_status (FR #52982) (Arpad)
- Added support for storing upload progress feedback in session data. (Arnaud)
PHP-FPM related:
- Remove EXPERIMENTAL flag. (fat)
- Added partial syslog support (on error_log only). FR #52052. (fat)
- Lowered default value for Process Manager. FR #54098. (fat)
- Enhance security by limiting access to user defined extensions. FR #55181. (fat)
- Added process.max to control the number of process FPM can fork. FR #55166. (fat)
- Dropped restriction of not setting the same value multiple times, the last one holds. (giovanni at giacobbi dot net, fat)
Removed legacy features:
- Safe mode and all related ini options. (Kalle)
- register_globals and register_long_arrays ini options. (Kalle)
- import_request_variables(). (Kalle)
- allow_call_time_pass_reference. (Pierrick)
- Session bug compatibility mode (session.bug_compat_42 and session.bug_compat_warn ini options). (Kalle)
- session_is_registered(), session_register() and session_unregister() functions. (Kalle)
- y2k_compliance ini option. (Kalle)
- Removed magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase ini options. get_magic_quotes_gpc, get_magic_quotes_runtime are kept but always return false, set_magic_quotes_runtime raises an E_CORE_ERROR. (Pierrick, Pierre)