PHP

5.0.0RC1

Released on 18 Mar 2004
Project description.
PHP is a popular general-purpose scripting language that is especially suited to web development
PHP 5.0.0RC1 Changelog
  • Fixed numerous bugs with the just-in-time auto-global initialization, that could cause $_SERVER, $argv/$argc and other variables not to work properly. (Zeev)
  • Fixed data corruption with constant assignments to object properties. (Zeev)
  • Changed __toString() to be called automatically only with print and echo statements. (Andi)
  • Replaced the exec_finished hook by the zend_post_deactive hook for extensions. The new hook will be run after the symbol table and destructors are run. (Derick)
  • Fixed possible crash when internal get_method() is not defined. (Andi)
  • Fixed calling methods using call_user_func() in conjunction with the array("Class","Method") syntax to use the scope of the PHP user function. (Dmitry)
  • Fixed php-cgi to not ignore command-line switches when run in a web context. This fixes our test cases allowing INI with GET sections to work. (Rasmus)
  • Fixed getopt() so it works without $_SERVER. (Rasmus, bfrance)
  • Added support for PHP 4 style object comparisons which is enabled in ze1_compatiblity_mode. (Andi)
  • Added support for PHP 4 style object conversion to long, double, and boolean values which is enabled in ze1_compatibility_mode. (Andi, Stas)
  • Allow object oriented extensions to overload comparison functions and other operations. Solves problems using SimpleXML values. (Andi, Zeev)
  • Fixed crash when accessing a class constant with a value which in turn is also a constant. (Dmitry)
  • Fixed object's truth value conversion. It is always true unless ze1_compatibility_mode is on in which it behaves like in PHP 4. (Stas)
  • Improved out of memory handling in new memory manager. (Stas)
  • Fixed crash when an object references itself during destructor call. (Andi)
  • Fixed crash in foreach() when iterating over object properties or a method's return values. (Andi)
  • Fixed crash when an exception is thrown in a destructor. Such exceptions are now ignored as destruction happens out of context at no definite time. (Andi)
  • Fixed crashes in exception handling. (Dmitry, Andi)
  • Changed prototype checks so that they aren't done on constructors. (Andi)
  • Changed prototype checks to output an E_STRICT message instead of an E_COMPILE_ERROR. (Andi)
  • Changed Iterator::has_more() to Iterator::valid(). (Marcus)
  • Upgraded bundled oniguruma library to version 2.2.2. (Rui, Moriyoshi)
  • Added mb_list_encoding() to return an array with all mbstring supported encodings. (Derick)
  • Added support for more ISO8601 datetime formats in strtotime(). (Moriyoshi)
    • Timezone specifier (ex. "20040301T02:00:00+19:00")
    • Week specifier (ex. "1997W021")
  • Renamed php.ini option "zend2.implicit_clone" to "zend.ze1_compatibility_mode" as it doesn't only affect implicit cloning. (Andi, Zeev)
  • Methods that override parent methods are now subject to prototype checking, and have to be compatible with the method they're overriding - this check is disabled in compatibility mode. (Andi, Zeev)
  • Fixed crash in php_ini_scanned_files() when no additional INI files were actually parsed. (Jon)
  • Fixed bug in gdImageFilledRectangle in the bundled GD library, that required x1 < x2 and y1 < y2 for coordinates. (Derick)
  • Fixed crash with foreach() and temporary objects($obj->method()->a ...) where method returns a non-referenced object. (Andi, Zeev)
  • Fixed problem preventing startup errors from being displayed. (Marcus)
  • Fixed start-up problem if both SPL and SimpleXML were enabled. The double initialization of apache 1.3 was causing problems here. (Marcus, Derick)
  • Fixed bug #27606 (Expression must be a modifiable lvalue compiler error). (Derick)
  • Fixed bug #27597 (pg_fetch_array not returning false). (Marcus)
  • Fixed bug #27586 (ArrayObject::getIterator crashes with [] assignment). (Marcus)
  • Fixed bug #27537 (Objects pointing to each other segfaults). (Dmitry)
  • Fixed bug #27535 (Problem with object freeing mechanism). (Dmitry)
  • Fixed bug #27504 (Visibility bugs in call_user_function()). (Dmitry)
  • Fixed bug #27457 (handling of numeric indexes in strtr()). (Dmitry)
  • Fixed bug #27338 (memory leak inside tsrm_virtual_cwd.c on win32). (Ilia)
  • Fixed bug #27291 (get_browser matches browscap.ini patterns incorrectly). (Jay)
  • Fixed bug #27287 (wddx segfaults during deserialization). (Moriyoshi)
  • Fixed bug #27263 (session extension crashes when unserializing referenced values / objects). (Moriyoshi)
  • Fixed bug #27237 (Working with simplexml crashes apache2). (Rob)
  • Fixed bug #27227 (Mixed case class names causes Fatal Error in Constructor call). (Marcus)
  • Fixed bug #27125 (strval() doesn't work for objects with __toString()). (Marcus)
  • Fixed bug #27123 (Fix crash caused by bug in get_object_vars()). (Andi)
  • Fixed bug #26677 (mbstring compile errors with IRIX compiler). (K.Kosako <kosako at sofnec dot co dot jp>, Rui, Moriyoshi)
  • Fixed bug #26206 (register_long_arrays breaks superglobals). (Zeev)
  • Fixed bug #25724 (argv and argc not defined). (Zeev)