php-src/sapi/tux
Sascha Schumann 9c876ea01a Add sapi_header_op interface which supersedes the sapi_add_header and _ex
calls.

Revert the change to the sapi_add_header_ex interface.

Fix various bugs:

1.  header("HTTP/1.0 306 foo");
    header("Location: absolute-uri");

    did not work in combination with several SAPI modules, because
    http_status_line was never properly reset.  And thus, all SAPI
    modules which looked at http_status_line ignored the changed
    http_response_code.

2.  The CGI SAPI did not send out the HTTP status line at all, if
    http_status_line had not been set explicitly by calling
    header("HTTP/1.0 200 foo");
2002-07-03 10:42:31 +00:00
..
config.m4 Please welcome the new build system. 2002-03-07 14:20:02 +00:00
CREDITS Add TUX SAPI module 2001-05-26 23:58:38 +00:00
php_tux.c Add sapi_header_op interface which supersedes the sapi_add_header and _ex 2002-07-03 10:42:31 +00:00
php.sym Add TUX SAPI module 2001-05-26 23:58:38 +00:00
README Add TUX SAPI module 2001-05-26 23:58:38 +00:00

README FOR THE TUX MODULE (by Sascha Schumann)        
($Date$)

    This is a SAPI module for the TUX web-server by Ingo Molnar.

    The special thing about TUX is that it is integrated into the Linux
    kernel and thus provides high-speed serving of static files.

    The web-server provides a user-space API which allows arbitrary 
    plug-ins to be made available. 

    All requests to the PHP userspace module are currently serialized.

    This module is of alpha quality.  Due to incomplete APIs, HTTP
    authentication and handling of POST requests has not been
    implemented yet.
 
    SECURITY NOTE: PHP will happily run everything under the
    web-root through the parser; so be careful what you put
    there.

    Note that requests are served in a chroot'ed environment.
    The initialization of PHP does not take place in the chroot'ed
    environment, so that e.g. /usr/local/lib/php.ini is treated
    as usual.

REQUIRED DOWNLOADS

    1. TUX

       http://people.redhat.com/~mingo/TUX-patches/QuickStart-TUX.txt
       
    2. PHP 4.0.x
       
       Download:
       http://www.php.net/
       
       Snapshots from CVS:
       http://snaps.php.net/


BUILD INSTRUCTIONS

    1. Install TUX as outlined in the QuickStart text.
       Create /tux-modules where modules will reside.
    
    2. Prepare PHP

       $ cd php-*
       $ ./configure \
            --with-tux=/tux-modules \
    		<further PHP options>
       # make install
    
       You can see the list of valid PHP options by executing

       $ ./configure --help

    3. Touch a file in your web-root 'php4.tux'.  This will
       cause requests to '/php4.tux' to be redirected to the
       userspace module php4.tux.

    4. Start TUX with something like

       # tux -d -t 8 -r /www -m /tux-modules php4.tux
      
       (daemon mode, eight threads, web-root /www, modules in
        /tux-modules, load php4.tux)

       BEFORE running this command, the kernel side of TUX has to
       be properly setup.
       
    5. Try to access

           http://yourserver/php4.tux?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

       It should display the PHP credits page.

       To access a script /foo/bar.php, use

           http://yourserver/php4.tux?/foo/bar.php

       Parameters can be appended:
       
           http://yourserver/php4.tux?/foo/bar.php&var=value