PHP 4.0 Beta 1

Release Announcement

 

Introduction

 

After eight months of intense development, the PHP group is pleased to announce the release of PHP 4.0 Beta 1.  This new, downwards-compatible successor to the award winning PHP 3.0 Web scripting language, features revolutionary enhancements that will allow PHP, more than ever, to compete in the forefront of Web development tools.

PHP 4.0 offers drastic improvements in every  aspect - performance and scalability, features, platform support and extendibility.

The most significant change in PHP 4.0 is the integration of the Zend engine.  Zend, developed by Zeev Suraski and Andi Gutmans in the last eight months, is a full rewrite of their PHP 3.0 scripting engine;  The new version is blazing fast, and offers significant performance boosts for both simple and especially complex Web sites.  In addition, the new scripting engine enhances the PHP language with a bunch of new features, and removes limitations that existed in version 3.0.

In addition to Zend, PHP 4.0 introduces several other new features.  PHP 4.0 is truly platform independent, and is portable across operating systems and different Web servers;  Sascha Schumann added native support for HTTP sessions, without the need of a 3rd party library;  And, Stig Bakken implemented a modular build process for UNIX, that would make it easy to use and distribute dynamically loadable PHP modules.

 

Beta 1 Status

PHP 4.0 has been tested by a group of about 30 people for the last three months.  This small scale beta test was conducted to ensure that the first public beta of PHP 4.0, when it is released, is stable enough to be tested by the masses.  We now feel that the code has reached a stability level that is suitable for a public beta test, as most legacy PHP 3.0 scripts we try to run on PHP 4.0 run without a glitch, and this very web site, the one you're browsing now, is powered by PHP 4.0.

However, it is still beta software.  As such, we're positive that there will be bugs in it.  Since mostly all of PHP has been either written from scratch or heavily modified, the chances of finding no bugs in the new code are slim.  For that reason, we don't recommend that you use PHP 4.0 Beta 1 on production servers;  If you choose to run PHP 4.0 Beta 1 on a production server, at least make sure your web site runs properly under PHP 4.0 by first testing it offline, on a different Web server.

Because we release the code as a beta, the default build configuration builds PHP 4.0 in debug mode.  Debug mode is considerably slower than Release mode, but allows for more useful bug reports.  If you want to benchmark PHP 4.0 against PHP 3.0, make sure you turn debug mode off.

New Features

PHP 4.0 is packed with many new features:

 

Incompatibilities

Zend has been designed from the ground up to be as compatible as possible with the PHP 3.0 language.  It is close to 100% compatibility with PHP 3.0, except for very minor incompatibilities that exist due to the nature of the new architecture.

 

Mailing list

The PHP 4.0 Beta mailing list is php4beta@lists.php.net (to subscribe, send an empty message to php4beta-subscribe@lists.php.net).  All PHP 4.0 related discussions should be held on this list;  Please, don't clutter the already over-flown PHP 3.0 mailing list with PHP 4.0 related questions.

 

Reporting Bugs

PHP 4.0 bugs should be reported at http://bugs.php.net/.  Please, don't mix between http://bugs.php.net/bugs-php3.php (the PHP 3.0 bug report tool) and http://bugs.php.net/.

 

For PHP Module Developers

PHP 4.0's inner API has changed significantly since version 3.0.  If you used only module API functions in your modules, your module should work with PHP 4.0 without requiring any changes.   However, if you used inner API functions (for example, accessed symbol tables or arrays using Hash functions), your module will require some porting.

We haven't yet prepared updated API documentation.  We hope to prepare some for Beta 2.

 

Future

One of the goals of Beta 1 is to find out whether any function modules in the source tree are incompatible with PHP 4.0.  We hope to find all of these modules and have them fixed for Beta 2.

No date has been set for the final release of PHP 4.0.  Assuming the beta test of PHP 4.0 goes well, we expect the final release to be out on the fourth quarter of 1999.