File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / sapi / nsapi / nsapi-readme.txt
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 12:34:35 2012 UTC (12 years, 1 month ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, HEAD
php 5.4.3+patches

    1: Configuration of your Netscape/iPlanet/Sun Webserver for PHP5
    2: -----------------------------------------------------------------
    3: 
    4: These instructions are targetted at Netscape Enterprise Web Server and
    5: SUN/Netscape Alliance iPlanet Web Server and the new Sun Java System Webserver.
    6: On other web servers your milage may vary.
    7: 
    8: Firstly you may need to add some paths to the LD_LIBRARY_PATH
    9: environment for Netscape to find all the shared libs. This is best done
   10: in the start script for your Netscape server.  Windows users can
   11: probably skip this step. The start script is located in:
   12: 
   13:     <path-to-netscape-server>/https-servername/start
   14: 
   15: 
   16: Netscape/iPlanet/Sun config files are located in:
   17: 
   18:     <path-to-server>/https-servername/config
   19: 
   20: 
   21: Add the following line to mime.types (you can do that by the administration server):
   22: 
   23:     type=magnus-internal/x-httpd-php	exts=php
   24: 
   25: 
   26: Place the following two lines after mime.types init in
   27: <path-to-server>/https-servername/config/obj.conf (for servers < 6) or
   28: for iPlanet/Sun Webserver 6.0 and above however at the end of the
   29: <path-to-server>/https-servername/config/magnus.conf file:
   30: 
   31:     Init fn="load-modules" funcs="php5_init,php5_execute,php5_auth_trans" shlib="/path/to/phplibrary"
   32:     Init fn=php5_init errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
   33: 
   34: The "shlib" will vary depending on your OS:
   35: 
   36: 	Unix: "<path-to-server>/bin/libphp5.so".
   37: 	Windows: "c:/path/to/php5/php5nsapi.dll"
   38: 
   39: 
   40: In obj.conf (for virtual server classes [Sun 6.0+] in their vserver.obj.conf):
   41: 
   42:     <Object name="default">
   43:     .
   44:     .
   45:     .
   46:     # NOTE this next line should happen after all 'ObjectType' and before
   47:     # all 'AddLog' lines
   48:     # You can modify some entries in php.ini request specific by adding it to the Service
   49:     # directive, e.g. doc_root="/path"
   50:     # For boolean ini-keys please use 0/1 as value, NOT "On","Off",... (this will not work
   51:     # correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"
   52: 
   53:     Service fn="php5_execute" type="magnus-internal/x-httpd-php" [inikey=value ...]
   54:     .
   55:     .
   56:     .
   57:     </Object>
   58: 
   59: This is only needed if you want to configure a directory that only consists of
   60: PHP scripts (same like a cgi-bin directory):
   61: 
   62:     <Object name="x-httpd-php">
   63:     ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
   64:     Service fn="php5_execute" [inikey=value ...]
   65:     </Object>
   66: 
   67: After that you can configure a directory in the Administration server and assign it
   68: the style "x-httpd-php". All files in it will get executed as PHP. This is nice to
   69: hide PHP usage by renaming files to .html
   70: 
   71: Note: The stacksize that PHP uses depends on the configuration of the webserver. If you get
   72: crashes with very large PHP scripts, it is recommended to raise it with the Admin Server
   73: (in the section "MAGNUS EDITOR").
   74: 
   75: 
   76: Authentication configuration
   77: ----------------------------
   78: 
   79: PHP authentication cannot be used with any other authentication. ALL
   80: AUTHENTICATION IS PASSED TO YOUR PHP SCRIPT.  To configure PHP
   81: Authentication for the entire server, add the following line:
   82: 
   83:     <Object name="default">
   84:     AuthTrans fn=php5_auth_trans
   85:     .
   86:     .
   87:     .
   88:     .
   89:     </Object>
   90: 
   91: 
   92: To use PHP Authentication on a single directory, add the following:
   93: 
   94:     <Object ppath="d:\path\to\authenticated\dir\*">
   95:     AuthTrans fn=php5_auth_trans
   96:     </Object>
   97: 
   98: 
   99: Special use for error pages or self-made directory listings
  100: -----------------------------------------------------------
  101: 
  102: You can use PHP to generate the error pages for "404 Not Found"
  103: or similar. Add the following line to the object in obj.conf for
  104: every error page you want to overwrite:
  105: 
  106:     Error fn="php5_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
  107: 
  108: where XXX ist the HTTP error code. Please delete any other Error
  109: directives which could interfere with yours.
  110: If you want to place a page for all errors that could exist, leave
  111: the "code" parameter out. Your script can get the HTTP status code
  112: with $_SERVER['ERROR_TYPE'].
  113: 
  114: Another posibility is to generate self-made directory listings.
  115: Just generate a PHP script which displays a directory listing and
  116: replace the corresponding default Service line for
  117: type="magnus-internal/directory" in obj.conf with the following:
  118: 
  119:     Service fn="php5_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
  120: 
  121: For both error and directory listing pages the original URI and
  122: translated URI are in the variables $_SERVER['PATH_INFO'] and
  123: $_SERVER['PATH_TRANSLATED'].
  124: 
  125: 
  126: Note about nsapi_virtual() and subrequests
  127: ------------------------------------------
  128: 
  129: The NSAPI module now supports the nsapi_virtual() function (alias: virtual())
  130: to make subrequests on the webserver and insert the result in the webpage.
  131: The problem is, that this function uses some undocumented features from
  132: the NSAPI library.
  133: 
  134: Under Unix this is not a problem, because the module automatically looks
  135: for the needed functions and uses them if available. If not, nsapi_virtual()
  136: is disabled.
  137: 
  138: Under Windows limitations in the DLL handling need the use of a automatic
  139: detection of the most recent ns-httpdXX.dll file. This is tested for servers
  140: till version 6.1. If a newer version of the Sun server is used, the detection
  141: fails and nsapi_virtual() is disabled.
  142: 
  143: If this is the case, try the following:
  144: Add the following parameter to php5_init in magnus.conf:
  145: 
  146:     Init fn=php5_init ... server_lib="ns-httpdXX.dll"
  147:     
  148: where XX is the correct DLL version number. To get it, look in the server-root
  149: for the correct DLL name. The DLL with the biggest filesize is the right one.
  150: 
  151: But be warned: SUPPORT FOR nsapi_virtual() IS EXPERIMENTAL !!!
  152: 
  153: 
  154: $Id: nsapi-readme.txt,v 1.1.1.2 2012/05/29 12:34:35 misho Exp $

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>