PHP

4.0RC2

Released on 8 May 2000
Project description.
PHP is a popular general-purpose scripting language that is especially suited to web development
PHP 4.0RC2 Changelog
  • NSAPI WIN32 Module compilable, untested (Shane)
  • Apache WIN32 Module compilable and lightly tested. (Shane)
  • Enabled assert() by default in php.ini-dist. (Andrei)
  • Put in safeguards in case dynamic code evaluation in assert() and preg_replace() with /e modifier fails. (Andrei)
  • Fixed infinite recursion when serializing $GLOBALS[] in WDDX. (Andrei)
  • Made WDDX serialization properly escape <, >, and &. Also speeded up the serialization in general. (Andrei)
  • Moved install-local to install-sapi for clarity. (Joey)
  • Improved extension build framework. Refer to README.SELF-CONTAINED-EXTENSIONS for an introduction. (Sascha)
  • ImagePolygon() is no longer limited by a maximum number of polygons. (Marc Pohl)
  • Added configure time checking for bcmath package. (Joey, Sascha)
  • Added get_declared_classes(). (Andrei, Zend Engine)
  • Added initial NSAPI module from Jayakumar Muthukumarasamy. (Rasmus)
  • Added the SWF module which allows you to create Macromedia Flash files via libswf. (Sterling)
  • Improved UNIX build system to support more vendor make tools (Sascha)
  • Updated natural comparison/sorting algorithm by Martin Pool <mbp@humbug.org.au>. (Andrei)
  • Fixed a crash in array_multisort() that happened when empty arrays were passed to it. (Andrei)
  • Added substr_count() from Peter Kovacs. (Andrei)
  • Added an optional third argument to fseek to indicate where to seek from. (Andrei)
  • OCIBindByName() will no longer complain about bindlength beeing zero. (Thies)
  • Converted the IMAP module to the high performance API (Zeev)
  • The fgetcsv() function now handles embedded end-of-line in a quoted field (Nick Talbott)
  • Added user_error(), to allow explicitly generate error messages from scripts (Zeev, Zend Engine)
  • Fixed a problem in long2ip() that occasionally returned incorrect IP address. (Evan, Andrei)
  • Fixed many memory leaks in the IMAP module (Stas, Andi, Zeev)
  • Fixed bug in number_format (Jon Forsberg)
  • Make error_prepend_string and error_append_string work (Rasmus)
  • array_walk() now automatically resets the array. (Andrei)
  • Added natural comparison/sorting routines strnatcmp(), strnatcasecmp(), natsort(), and natcasesort(). These are useful for comparing and sorting strings that contain numbers. Based on the code from Martin Pool <mbp@humbug.org.au>. See http://www.linuxcare.com.au/projects/natsort/ for more info on natural sorting. (Andrei)
  • Zeus Webserver support (version 3.3.6+) for ISAPI (Ben Mansell)
  • Fixed several problems with the PATH_TRANSLATED and PHP_SELF under Apache (Paul Gregg & Zeev)
  • Ported ldap_get_values_len() function from PHP3 to PHP4. (Sterling)
  • Fixed a problem in include_once() with non constant arguments (Andi & Zeev, Zend Engine)
  • Added php.ini-optimized (Zeev)
  • Ported ldap_errno(), ldap_err2str() and ldap_error() from PHP3 to PHP4. (Sterling)
  • WDDX now defaults to ISO-8859-1. (Thies)
  • Fixed crash resulting from IMAP's error handling (Stas)
  • Added $HTTP_POST_FILES[filename][tmp_name] - it was previously impossible to retrieve the temporary name of an uploaded file using $HTTP_POST_FILES[] (Zeev)
  • Made the IMAP and LDAP modules compilable under Windows and thread-safe (Zeev)
  • Fixed a problem when dealing with large POST blocks in CGI mode (Zeev)
  • Added session_get_cookie_params() function. (Sterling)
  • Fixed return of stristr() to no longer always be lowercased. (Andrei)
  • Changed the Windows version of PHP so that a php.ini file is no longer mandatory (Zeev)
  • session_start() is now more verbose if headers cannot be send. (Thies)
  • Fixed a memory leak when using assign-op bitwise operators on strings (Zeev, Zend Engine)
  • Added support for reading properties that require arguments in the COM module - writing to them will only be supported in PHP 4.1 (Zeev)
  • Fixed a very old legacy memory leak in the COM module (Zeev)
  • Fixed problems with object-overloading support - noteably, COM and Java (Zeev, Zend Engine)
  • Fixed an overrun in WDDX. (Thies)
  • Fixed a crash bug with modules loaded through dl() not properly freeing their resources (Zeev, Zend Engine)
  • Added localtime() function. (Sterling)
  • Added the 'I' format option for the date function, this option will return true or false depending on whether or not daylight savings time is in effect. (Sterling)
  • Added gmstrftime() function. (Sterling)
  • snmp_walkoid is now an alias for snmp_realwalk. (Sterling)
  • Fixed a bug that could cause a crash when using 'global' inside large include files (Stas, Zend Engine)
  • Added --enable-libgcc switch to force linking against libgcc (Sascha)
  • Fixed dynamic loading where extension_dir had no trailing slash (Sascha)
  • Fixed dynamic loading on OpenBSD (Sascha)
  • Improved POSIX threads check. ZTS works now on at least Linux, Solaris, FreeBSD and OpenBSD (Sascha, TSRM)
  • Added !== operator support. (Torben, Zend Engine)