[PHP4BETA] The next step

From: Date: Mon, 26 Apr 1999 00:43:40 +0000
Subject: [PHP4BETA] The next step
Groups: php.version4 
Request: Send a blank email to php-version4+get-530@lists.php.net to get a copy of this message
Hi, After working for a few hours, Andi and I got very very preliminary positive results from ISAPI interfacing IIS 4.0. Code compiles and executes nicely, with full thread safety (the way it's written, there's a minimum of two threads that 'talk' with each other to some extent). We didn't invest any time in the ISAPI specific issues, so stuff like headers and content type don't yet work, so the browser ends up prompting you to save the file. We've written a *tiny* framework for SAPI. My intentions are to port most of Shane's work from his SAPI base into this framework (essentially, nothing but a static structure of functions that is specific to each server API, and a thread-safe structure that contains the request information). [The following applies to the Win32 thread-safe project only, for now] In order to save time compiling and recompiling all the time, we converted PHP 4.0 to be a static library. For various reasons we'd convert it to be a dynamic link library (DLL) in the future, but we didn't yet do it (we have to do it mainly in order to support extension DLLs that would work with ISAPI, WSAPI, NSAPI and CGI in one single binary file). [/end] In general, I think we should do the same in UNIX. Slowly but surely, we'd get rid of any server specific code in PHP 4.0, and move to using SAPI. Compiling PHP 4.0 should then consist of: 1. Compiling libzend 2. Possibly compiling TSRM 3. Compiling libphp4, with the requested built-in extensions. 4. Compiling the appropriate SAPI implementation for your server, and linking in the above libraries. If we do it right, it should be possible to compile libzend, TSRM and libphp4 once and it would be linked as-is for all server implementations. In Win32, it would actually be a DLL (we can make it an .so under UNIX too, but I don't think we have a good reason to do it - in Win32, we must). Zeev -- Zeev Suraski <zeev@zend.com> http://www.zend.com/ For a PGP public key, finger bourbon@netvision.net.il -- PHP 4 Beta

« previous php.version4 (#530) next »