PHP

4.0.6

Released on 23 Jun 2001
Project description.
PHP is a popular general-purpose scripting language that is especially suited to web development
PHP 4.0.6 Changelog
  • Fixed memory fragmention problem which could lead to web server processes growing much more than they should. (Andi, Zend Engine)
  • Made $HTTP_SESSION_VARS['foo'] and $foo be references to the same value when register_globals is on. (Andrei)
  • Fixed disk_free_space() and disk_total_space() under FreeBSD. (Jon)
  • Fixed readfile/passthru losing resources during connection abort (Sascha)
  • Fixed bug in the mcrypt extension that caused segfaults when using a key that is too large for the used algorithm, and a bug that caused mcrypt_generic() to segfault PHP (Derick)
  • Fixed getopt so that it accepts command line arguments in the form -<opt><arg> and -<opt> <arg>. (Jmoore)
  • Fixed race in writing session files (Sascha)
  • Fixed a possible crash in the PHP CGI when no input file is specified (Zeev)
  • Added is_callable() function that can be used to find out whether its argument is a valid callable construct. (Andrei)
  • Fixed a rare possible crash when generating extended information. (Dmitri Dmitrienko, Zend Engine)
  • Improved virtual() to support PHP-enabled URIs. (Zeev)
  • Fixed undefined behavior when using floating point keys in array() expressions. (Zeev, Zend Engine)
  • Fixed a possible crash in case of parse errors in include files or eval statements. (Zeev, Zend Engine)
  • Added --with-layout configure option. (Stig)
  • Improved interactive mode - supports function calls, and works in multithreaded builds. (Zeev, Zend Engine)
  • Fixed a crash bug in interactive mode. (Zeev, Zend Engine)
  • Added pg_last_notice() function. (Rasmus from suggestion by Dirk@rackspace.com)
  • Fixed a bug in preg_split() that would incorrectly limit the number of results when used along with PREG_SPLIT_NO_EMPTY flag. (Andrei)
  • Added connection error support to mysql_error() and mysql_errno(). (Jason)
  • Added support to getimagesize to return dimensions of BMP and PSD files. (Derick)
  • Added heuristic to kill stale IRC connections, message scanner caching, and nickname escaping to IRCG, suppress option to ircg_msg(), and statistics to IRCG phpinfo() output. (Sascha)
  • Added Japanese multibyte string functions support. (Rui)
  • Added Mac OS X "\r" line ending support. (Andi, Zend Engine)
  • Fixed a bug regarding the $PHP_SELF being incorrectly registered when force-cgi-redirect was not enabled. (Sterling)
  • pfpro extension now supports version 3 of the Verisign SDK. (John Donagher)
  • Udm_Cat_List and Udm_Cat_Path functions has been added.
  • Added key_exists() to check if a given key or index exists in an array or object. (David Croft)
  • Modify the cURL extension to compile only with the latest cURL release. Backwards compatibility with regards to the extension api has not been broken. (Sterling)
  • Added the ability to use user-defined callbacks with cURL. (Sterling)
  • Added the SSL_VERIFYPEER, CAINFO, MAXREDIRS, FILETIME, RANDOM_FILE, EGDSOCKET and CONNECTTIMEOUT options to curl_setopt(). (Sterling)
  • Added support for persistent connections with cURL. (Sterling)
  • Fixed a problem in cURL with file descriptors being allocated, but never closed. (Sterling)
  • Fixed interactive mode (-a). It works again with the same limitations it has always had. (Andi, Zend Engine)
  • Improved memory manager to use less memory and provide better memory overflow detection abilities in debug mode. (Andi, Zend Engine)
  • Fixed resource leaks when resources were being cast to numbers. (Zeev, Zend Engine)
  • Fixed foreach() to not crash when being sent an invalid argument. (Andi, Zend Engine)
  • Fixed a bug in opendir() under Windows when trying to open a non-exisiting directory. (Andi)
  • Fixed popen() and the exec family under Win32 (Unable to fork issue). (Daniel)
  • Make the printf family of functions binary clean. (Rasmus)
  • Fixed WDDX serialization to HTML-escape key/variable names so as not to break the XML packet. (Andrei)
  • Made WDDX extension enabled by default. (Andrei)
  • Added -C command-line option to avoid chdir to the script's directory. (Stig)
  • Fixed a bug with /e modifier in preg_replace(), that would not correctly replace two-digit references if single digit references were present before them. This fixed bug #10218. (Andrei)
  • Added temporary LOB support in OCI8. (Patch by David Benson)
  • Fixed crash in pathinfo()
  • OCI8 now supports binding of collections. (Patch by Andy Sautins <asautins@veripost.net>)
  • Added GD 2.0.1 support for truecolor and alpha channels, plus some other gd functions, both old and new - see docs for more info. (Wez)
  • Added S/MIME sign/verify encrypt/decrypt functions to openssl extension, along with some other certificate manipulation and interrogation functions. See docs for more info. (Wez)
  • printf argnum (parameter swapping) support. (Morten Poulsen, Rasmus)
  • Add DIRECTORY_SEPARATOR constant ('/' on UNIX, '\' on Windows). (Stig)
  • Added small change to php_odbc module, to check for failed SQLDisconnects and to close any outstanding transactions if the call fails, then disconnect again. (lurcher)
  • Modified get_parent_class() and get_class_methods() to accept a class name as well as a class instance. (Andrei, Zend Engine)
  • Added support for UNC style paths. (\\server\share\file, //server/share/file). (Daniel, TSRM)
  • Added dbx module (database abstraction) to the repository. (Marc)
  • Using ITypeInfo instead of IDispatch if possible. This makes DCOM calls and even COM calls much faster. All ini settings are now prefixed by 'com.'. Now you need not provide a path to the file containing the typelib, you can also provide the GUID of the TypeLib - entry or an IID for preloading type - information. (phanto)
  • Rewrite of domxml. It's now mostly DOM Level 2 conform. (Uwe)
  • Added array_map() function that applies a callback to the elements of given arrays and returns the result. It can also be used with a null callback to transpose arrays. (Andrei)
  • Added array_filter(), which allows filtering of array elements via the specified callback. (Andrei)
  • Fixed all relevant array functions to avoid moving the internal array pointer during operations. (Andrei)
  • Added mysql_unbuffered_query(), which is useful for very large result sets. (Zeev)