ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> php-Announce
php-Announce
[ANNOUNCE] PHP 4.0 Beta 4 released
by Zeev Suraski other posts by this author
Feb 21 2000 1:08AM messages near this date
[ANNOUNCE] PHP 3.0.15 released | [ANNOUNCE] PHP Template Engine Request For Participation
The PHP Group is pleased to announce the availability of Beta 4 of PHP 4.0.
 
 This development release is intended to be the final beta version;  If 
 there are no significant show stoppers, PHP 4.0 will be wrapped up for 
 release in the near future.
 
 PHP 4.0 features a lot of new features, bug fixes and performance 
 enhancements.  Some of the highlights are:
 
 * Built-in XML support.  The expat library is now bundled with PHP.  Thanks 
 goes to James Clark's for letting us bundle his package in the distribution!
 * Better and more reliable support for Microsoft IIS and PWS, under both 
 Windows NT and Windows 9x.  Performance of the ISAPI module under Windows 
 has been improved by 30%-150%.
 * Introduced PEAR, the PHP Extension and Add-on Repository.  PEAR is a code 
 repository for common PHP extensions and library code.  Currently, the 
 primary focus is on a database abstraction layer.  PEAR is dedicated to 
 Stig's little new-born daughter, Malin Bakken.
 * Introduced a specialized memory cache for common data types in Zend (in 
 plain English - performance was boosted).
 * Introduced a new language keyword, 'use', equivalent to require(), but 
 guarantees that the file is only loaded once (used in PEAR).
 * Finished work on the Web Server Abstraction Layer.  PHP's interface to 
 the Web server is now completely abstracted, and it should be extremely 
 easy to add support for any Web server that has a module interface.
 * Improved the built-in session module.
 * Added support for macros in the php.ini file (e.g., you can now use 
 error_reporting = E_ALL&~E_NOTICE, instead of error_reporting=7).
 
 In addition to all of that, *lots* of bugs have been fixed, and a lots of 
 functions have been added.  A full list of changes is enclosed at the end 
 of this letter.  It'll also be a good idea to take a look at the 
 php.ini-dist file, to see the many new directives that were added or 
 modified in there.
 
 We've worked a lot on Beta 4 to ensure that it's stable and reliable, and 
 that it lives up to the expectations of PHP 4.0.  We encourage all users of 
 previous betas of PHP 4.0 to upgrade, and all users of PHP 3.0 to (at the 
 very least) begin planning their upgrade.  My personal opinion is that PHP 
 4.0 Beta 4 is the best, most reliable version of PHP that's available.
 
 PHP 4.0 is available as a source package, and as a binary package for 
 Windows, at:
 http://www.php.net/version4/downloads.php
 
 Happy PHPing!
 
 Zeev
 
 
 
 20 February 2000, Version 4.0 Beta 4
 - Introduced $HTTP_POST_FILES[], that contains information about files uploaded
    through HTTP upload (Zeev)
 - Made PHP work under Microsoft Personal Web Server, under both Windows NT
    workstation and Windows 95 (Zeev)
 - Made multipart/form-data content obey to the variables_order directive (Zeev)
 - Updated the browscap module to work with PHP 4.0 (Zeev)
 - Recover gracefully in ISAPI after the client prematurely presses STOP (Andi)
 - Fix bug in unset() on array offsets which are referenced more than once
    (Andi, Zend library)
 - Improved ISAPI module - it should no longer be necessary to set PHP as
    an ISAPI filter, only as an ISAPI extension, unless you wish to perform
    authentication using PHP.  This didn't yet get enough testing, but it
    should work (Zeev)
 - Fixed RFC1867 file upload under Windows (Zeev)
 - Initital support for pdflib 2.20 (Uwe)
 - Added PostgreSQL support for DB (Rui Hirokawa <louis@[...].jp> )
 - Re-introduced "none" for disabling auto_prepend/append_file (Stig)
 - Added DB/storage (Stig, PEAR)
 - Introduced DB warnings (Stig, PEAR)
 - Fix overrun in strip_tags (Stas)
 - Fixed crash in strip_tags() and related functions. (Thies)
 - Workaround for bogus POST-Data from IE/Mac. (Thies)
    Patch by Alain Malek <alain@[...].ch> 
 - Finished the server abstraction layer;  All of the PHP code is now shared
    across different servers (Apache, CGI, IIS, etc.), except for thin
    interface modules (Zeev)
 - Added NULL-support in gettype(). (Thies)
 - base64_decode() will decode POST data correct. (Thies)
    Patch submitted by: Turadg Aleahmad <turadg@[...].edu> 
 - Much more work on domxml. Build xml tree, create xml doc works (Uwe)
 - Made foreach() work on objects. (Thies, Zend library)
 - Added domxml extension based on libxml, still little functionality (Uwe)
 - Fixed memory corruption in fgetss(), strip_tags() and gzgetss() (Zeev)
 - Updated calendar dynamic library to work with PHP 4. (Evan)
 - Added strncmp() function, courtesy of Walter. (Andrei)
 - Made the output of var_dump() more informative. (Thies)
 - Fixed some OCIBindByName() problems. (Thies)
 - Protect the ISAPI module against exceptions.  Stack overflows in scripts are
    now nicely detected and handled (Zeev)
 - Fixed possible buffer-overflow in base64_decode. (Thies)
 - Fixed possible buffer-overflow in setcookie(). (Thies)
 - Fixed signal() bug that could cause the Apache master process to
    die. (Thies)
 - Added session_set_cookie_params() function. (Andrei)
 - If header information is sent after output has already been sent, the warning
    message will now state the filename and line number at which the first 
 output
    was made (Zeev)
 - Added the XML Expat library to the standard PHP source distribution thanks
    to its author James Clark (Andi & Zeev)
 - Added XML support to the default Win32 build (Andi & Zeev)
 - Added socket_get_status() function. Renamed:
      set_socket_timeout() ->  socket_set_timeout()
      set_socket_blocking() ->  socket_set_blocking(). (Andrei)
 - Added realpath() function. (Andrei)
 - mktime interprets years in the range 0-70 now as 2000-2070. You can
    continue to specify the complete year (i.e. 1920) (Sascha)
 - Added the ability to control the environment variables the user is allowed
    to change in Safe Mode, using INI directives (Zeev)
 - Fixed a crash bug in strtr() working on large input strings (Zeev)
 - Ora_GetColumn()/Ora_FetchInto() now return NULL for NULL-Columns. (Thies)
 - OCI8 now supports binding of NULL-values. Module cleanups. (Thies)
 - Added ability to set timeout on socket read operations through
    set_socket_timeout() function. (Andrei)
 - Added implicit_flush INI directive (Zeev)
 - Added implicit_flush() to control whether flush() should be called
    implicitly after any output (Zeev)
 - Fixed a crash in pfsockopen() (Zeev)
 - Fixed a possible crash in phpinfo() (Zeev)
 - Added register_argc_argv INI directive, to allow to selectively disable
    the declaration of the $argv and $argc variables for increased
    performance (Zeev)
 - Added $HTTP_ENV_VARS[] and $HTTP_SERVER_VARS[] support, which similarly
    to $HTTP_GET_VARS[], contain environment and server variables.  Setting
    register_globals to Off will now also prevent registration of the
    environment and server variables into the global scope (Zeev)
 - Renamed gpc_globals INI directive to register_globals (Zeev)
 - Introduced variables_order that deprecates gpc_order, and allows control
    over the server and environment variables, in addition to GET/POST/Cookies
    (Zeev)
 - new function cpdf_set_document_limits() (Uwe)
 - Applied safe-mode patch to popen(). (Patch by Kristian Köhntopp)
 - str_repeat() now returns correct length. (Thies)
 - Don't assume libz and libpng are installed for the GD checks (Rasmus)
 - Implemented support for <boolean>  and <null> types according
    to WDDX version 1.0 (Andrei)
 - Made var_dump()/serialize()/unserialize() NULL aware. (Thies)
 - Added new NULL constant (Zeev, Zend library)
 - Fixed -c support in the standalone CGI binary (Zeev)
 - Increased PHP's performance by 5-15% using a new memory cache (Andi & Zeev,
    Zend library)
 - Improved the php.ini reader to support constants and bitwise operators (Zeev)
 - Fixed strrev() to no longer modify arg1. (Thies)
 - Fixed buffer overruns in iptcembed(). (Thies)
 - Fixed a bug in ODBC error reporting (Zeev)
 - Added PHP_Logo_GUID() and Zend_Logo_GUID() functions, that return the GUIDs
    of the PHP and Zend logos used in phpinfo() (Zeev)
 - Added GNU Pth support (Sascha, TSRM library)
 - Removed select(), fd_set() and fd_isset() - will be reimplemented soon! 
 (Thies)
 - Improved Win32 performance significantly by using different mutexes (Zeev,
    TSRM library)
 - Made quotemeta() and preg_quote() binary-safe. (Andrei)
 - Added UDP support in fsockopen(). (Evan)
 - Added --disable-pear option (Andrei)
 - Renamed libzend repository to Zend (Zeev)
 - Added support for thttpd (Sascha)
 - Added session.cache_limiter and cache_expire options (Sascha)
 - Restored the PHP_VERSION and PHP_OS constants (Zeev)
 - Added get_loaded_extensions(), extension_loaded(), and
    get_extension_funcs() functions. (Andrei)
 - Added date/time stamping to PHP error log file. (Andrei, Joey)
 - Added is_subclass_of() function (Andrei, Zend library)
 - Implemented count_chars(). (Thies)
 - Added class_exists() function (Andrei, Zend library)
 - Made strspn() and strcspn() binary-safe. (Andrei)
 - Added array_multisort() function. (Andrei)
 - Made pageinfo.c thread-safe (Sascha)
 - Made implode() binary-safe (Andrei)
 - Made strstr(), stristr(), and ucwords() binary-safe() (Andrei)
 - Made strtoupper(), strtolower(), substr_replace() binary-safe. (Andrei)
 - Fix a crash in the Apache syntax highlighting mode (Zeev)
 - Report all ODBC error's not just the one on the top of the stack (lurcher)
 - OCI8 now returns NULL values in LONG columns correct. (Thies)
 - Added support for a C-like assert() function. (Thies)
 - Added CyberCash support. (Evan)
 - Made explode() binary-safe. (Thies)
 - Made strpos() binary-safe. (Thies)
 - Added XML_Set_Object() function, now you can use the XML-Parser from
    within an object. (Thies)
 - Session vars are now decoded into $HTTP_STATE_VARS[] array and the
    globals, depending on track_vars and gpc_globals settings (Andrei)
 - Added get_used_files() function - returns a hash mapping the use()'d files
    to their full path (Zeev)
 - PHP 4 scripts will now obey the max_execution_time setting and actually
    time out (Rasmus)
 - Added configure command to phpinfo() output (Stig)
 - Added optional socket path to the mysql_?connect() functions (Rasmus)
 - Made mysql and gd work as shared extensions again (Stig)
 - Make the global GET/POST/Cookie variables and their $HTTP_*_VARS[] 
 counterparts
    be references to each other (Zeev)
 - Added support for the 'use' keyword - behaves like 'require', but will not
    use the same file more than once (Andi & Zeev, Zend library)
 - Added check to see if a persistent connection is still valid with the
    ODBC interface before reusing (nick@easysoft.com)
 - Added DBMaker support (patch by Pax Tsai <paxtsai@[...].tw> )
 - Renamed "PECL" to "PEAR" (PHP Extension and Add-on Repository) (Stig)
 - buildconf now uses build.mk (Stig)
 - Disable symlinks to urls (Rasmus)
 - Informix driver now reflects version of ESQL/C used  (Danny)
 - Modified session_register() to take variable number of arguments (Andrei)
 - Fixed file descriptor leak in thread safe mode (Zeev, Zend library)
 - Added select(), fd_set() and fd_isset() (Evan)
 - cpdf support has been ported from php3, needs ClibPDF 2.x (Uwe)
 - Fixed a leak when using automatic output buffering (Zeev)
 - Introduced PECL - PHP Extension and Code Library
    (prounounced "pickle") (Stig)
 - Fixed inconsistencies in the implementation of here-docs (Andi & Zeev, Zend
    library)
 - Fixed a problem with constant class-member initializations (Andi & Zeev,
    Zend library)
 - Fixed float-compare in min(),max(),a[r]sort(),[r]sort() (Thies)
 - Implemented get_html_translation_table() function (Thies)
 - Implemented array_flip() function. Returns input-array with key, value
    flipped (Thies)
 - Added Berkeley DB3 support in DBA (Sascha)
 - Implemented 2-Arg version of strtr($str,$translation_array). This can be used
    to revert what htmlspecialchars() did (Thies)
 - Fixed mem-overwrite in XML_Parse_Into_Struct (Thies)
 - Added substr_replace() function (Andrei)
 
 --
 Zeev Suraski   <zeev@[...].com>   http://www.zend.com/
 
 
 -- 
 PHP Announcements Mailing List (http://www.php.net/)
 To unsubscribe, e-mail: php-announce-unsubscribe@[...].net
 For additional commands, e-mail: php-announce-help@[...].net
 To contact the list administrators, e-mail: php-list-admin@[...].net
 
Thread:
Zeev Suraski
Randy Grimshaw
Andi Gutmans
Cary Collett

Privacy Policy | Email Opt-out | Feedback | Syndication
© 2004 ActiveState, a division of Sophos All rights reserved