]> granicus.if.org Git - php/commitdiff
Remove old references to SAPIs and extensions no longer in the core
authorKalle Sommer Nielsen <kalle@php.net>
Wed, 19 Jul 2017 07:09:24 +0000 (09:09 +0200)
committerKalle Sommer Nielsen <kalle@php.net>
Wed, 19 Jul 2017 07:09:24 +0000 (09:09 +0200)
INSTALL
Makefile.global
TSRM/TSRM.c
TSRM/TSRM.h
ext/opcache/ZendAccelerator.c
main/php.h
win32/build/mkdist.php
win32/install.txt

diff --git a/INSTALL b/INSTALL
index 958035fd60d4ef643ba66d3ab69159fffee2ebe9..5242ad17cdc5628baa4dc09a0e52cf40d42c398c 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -63,15 +63,10 @@ General Installation Considerations
    set  up anything on your own, only write your PHP scripts, upload it to
    the server you rent, and see the results in your browser.
 
-   In  case  of  setting  up  the server and PHP on your own, you have two
-   choices  for  the  method  of  connecting  PHP  to the server. For many
-   servers  PHP  has  a  direct module interface (also called SAPI). These
-   servers include Apache, Microsoft Internet Information Server, Netscape
-   and  iPlanet  servers.  Many  other servers have support for ISAPI, the
-   Microsoft  module  interface  (OmniHTTPd  for  example).  If PHP has no
-   module  support  for your web server, you can always use it as a CGI or
-   FastCGI  processor.  This  means  you set up your server to use the CGI
-   executable of PHP to process all PHP file requests on the server.
+   If PHP has no module  support  for your web server, ´you can always use 
+   it as a CGI or FastCGI  processor.  This  means  you set up your server 
+   to use the  CGI executable of PHP to process all  PHP file  requests on 
+   the server.
 
    If  you are also interested to use PHP for command line scripting (e.g.
    write scripts autogenerating some images for you offline, or processing
@@ -409,205 +404,7 @@ fastcgi.server = ( ".php" =>
    (( "host" => "10.0.0.2", "port" => 1030 ),
     ( "host" => "10.0.0.3", "port" => 1030 ))
 )
-     __________________________________________________________________
-     __________________________________________________________________
-
-Sun, iPlanet and Netscape servers on Sun Solaris
-
-   This  section  contains notes and hints specific to Sun Java System Web
-   Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP
-   on Sun Solaris.
-
-   From  PHP  4.3.3  on  you  can use PHP scripts with the NSAPI module to
-   generate   custom   directory  listings  and  error  pages.  Additional
-   functions  for  Apache compatibility are also available. For support in
-   current web servers read the note about subrequests.
-
-   You  can  find  more  information about setting up PHP for the Netscape
-   Enterprise Server (NES) here:
-   » http://benoit.noss.free.fr/php/install-php4.html
-
-   To  build  PHP  with  Sun JSWS/Sun ONE WS/iPlanet/Netscape web servers,
-   enter  the  proper install directory for the --with-nsapi=[DIR] option.
-   The  default directory is usually /opt/netscape/suitespot/. Please also
-   read /php-xxx-version/sapi/nsapi/nsapi-readme.txt.
-
-    1. Install  the following packages from »  http://www.sunfreeware.com/
-       or another download site:
-          + autoconf-2.13
-          + automake-1.4
-          + bison-1_25-sol26-sparc-local
-          + flex-2_5_4a-sol26-sparc-local
-          + gcc-2_95_2-sol26-sparc-local
-          + gzip-1.2.4-sol26-sparc-local
-          + m4-1_4-sol26-sparc-local
-          + make-3_76_1-sol26-sparc-local
-          + mysql-3.23.24-beta (if you want mysql support)
-          + perl-5_005_03-sol26-sparc-local
-          + tar-1.13 (GNU tar)
-    2. Make    sure    your   path   includes   the   proper   directories
-       PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin  and  make it
-       available to your system export PATH.
-    3. gunzip  php-x.x.x.tar.gz  (if  you have a .gz dist, otherwise go to
-       4).
-    4. tar xvf php-x.x.x.tar
-    5. Change to your extracted PHP directory: cd ../php-x.x.x
-    6. For the following step, make sure /opt/netscape/suitespot/ is where
-       your netscape server is installed. Otherwise, change to the correct
-       path and run:
-./configure --with-mysql=/usr/local/mysql \
---with-nsapi=/opt/netscape/suitespot/ \
---enable-libgcc
-    7. Run make followed by make install.
-
-   After  performing  the  base install and reading the appropriate readme
-   file, you may need to perform some additional configuration steps.
-
-Configuration Instructions for Sun/iPlanet/Netscape
-
-   Firstly  you  may  need  to  add  some  paths  to  the  LD_LIBRARY_PATH
-   environment  for  the server to find all the shared libs. This can best
-   done in the start script for your web server. The start script is often
-   located  in:  /path/to/server/https-servername/start. You may also need
-   to    edit    the    configuration   files   that   are   located   in:
-   /path/to/server/https-servername/config/.
-    1. Add  the  following  line  to  mime.types  (you  can do that by the
-       administration server):
-type=magnus-internal/x-httpd-php exts=php
-
-    2. Edit  magnus.conf  (for servers >= 6) or obj.conf (for servers < 6)
-       and add the following, shlib will vary depending on your system, it
-       will  be something like /opt/netscape/suitespot/bin/libphp4.so. You
-       should place the following lines after mime types init.
-Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/op
-t/netscape/suitespot/bin/libphp4.so"
-Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_
-ini="/path/to/php.ini"]
-
-       (PHP  >=  4.3.3)  The php_ini parameter is optional but with it you
-       can place your php.ini in your web server config directory.
-    3. Configure  the  default  object  in  obj.conf  (for  virtual server
-       classes [version 6.0+] in their vserver.obj.conf):
-<Object name="default">
-.
-.
-.
-.#NOTE this next line should happen after all 'ObjectType' and before all 'AddLo
-g' lines
-Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inike
-y=value ...]
-.
-.
-</Object>
-
-       (PHP  >=  4.3.3)  As additional parameters you can add some special
-       php.ini-values, for example you can set a
-       docroot="/path/to/docroot"  specific to the context php4_execute is
-       called.   For  boolean  ini-keys  please  use  0/1  as  value,  not
-       "On","Off",...    (this    will    not    work   correctly),   e.g.
-       zlib.output_compression=1 instead of zlib.output_compression="On"
-    4. This  is only needed if you want to configure a directory that only
-       consists of PHP scripts (same like a cgi-bin directory):
-<Object name="x-httpd-php">
-ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
-Service fn=php4_execute [inikey=value inikey=value ...]
-</Object>
-
-       After  that  you  can  configure  a directory in the Administration
-       server  and  assign  it the style x-httpd-php. All files in it will
-       get  executed  as  PHP.  This is nice to hide PHP usage by renaming
-       files to .html.
-    5. Setup of authentication: PHP authentication cannot be used with any
-       other  authentication.  ALL  AUTHENTICATION  IS  PASSED TO YOUR PHP
-       SCRIPT.  To configure PHP Authentication for the entire server, add
-       the following line to your default object:
-<Object name="default">
-AuthTrans fn=php4_auth_trans
-.
-.
-.
-</Object>
-
-    6. To use PHP Authentication on a single directory, add the following:
-<Object ppath="d:\path\to\authenticated\dir\*">
-AuthTrans fn=php4_auth_trans
-</Object>
-
-     Note:
-
-     The  stacksize that PHP uses depends on the configuration of the web
-     server.  If  you  get  crashes  with  very  large PHP scripts, it is
-     recommended  to  raise  it  with  the  Admin  Server (in the section
-     "MAGNUS EDITOR").
-
-CGI environment and recommended modifications in php.ini
-
-   Important  when  writing  PHP scripts is the fact that Sun JSWS/Sun ONE
-   WS/iPlanet/Netscape  is a multithreaded web server. Because of that all
-   requests  are  running  in the same process space (the space of the web
-   server  itself) and this space has only one environment. If you want to
-   get  CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct
-   way  to  try  this  in  the  old PHP way with getenv() or a similar way
-   (register  globals  to  environment,  $_ENV).  You  would  only get the
-   environment of the running web server without any valid CGI variables!
-
-     Note:
-
-     Why are there (invalid) CGI variables in the environment?
-
-     Answer:  This is because you started the web server process from the
-     admin  server  which  runs the startup script of the web server, you
-     wanted  to  start, as a CGI script (a CGI script inside of the admin
-     server!).  This is why the environment of the started web server has
-     some  CGI environment variables in it. You can test this by starting
-     the  web  server not from the administration server. Use the command
-     line  as root user and start it manually - you will see there are no
-     CGI-like environment variables.
-
-   Simply  change your scripts to get CGI variables in the correct way for
-   PHP  4.x  by  using the superglobal $_SERVER. If you have older scripts
-   which  use  $HTTP_HOST,  etc.,  you  should turn on register_globals in
-   php.ini  and  change the variable order too (important: remove "E" from
-   it, because you do not need the environment here):
-variables_order = "GPCS"
-register_globals = On
-
-Special use for error pages or self-made directory listings (PHP >= 4.3.3)
-
-   You  can  use  PHP  to  generate the error pages for "404 Not Found" or
-   similar.  Add  the  following  line to the object in obj.conf for every
-   error page you want to overwrite:
-Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inik
-ey=value...]
-
-   where  XXX  is  the  HTTP  error  code.  Please  delete any other Error
-   directives  which  could  interfere  with yours. If you want to place a
-   page  for  all  errors  that could exist, leave the code parameter out.
-   Your script can get the HTTP status code with $_SERVER['ERROR_TYPE'].
-
-   Another  possibility  is to generate self-made directory listings. Just
-   create  a PHP script which displays a directory listing and replace the
-   corresponding default Service line for type="magnus-internal/directory"
-   in obj.conf with the following:
-Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/scri
-pt.php" [inikey=value inikey=value...]
-
-   For  both  error  and  directory  listing  pages  the  original URI and
-   translated   URI   are   in  the  variables  $_SERVER['PATH_INFO']  and
-   $_SERVER['PATH_TRANSLATED'].
-
-Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)
-
-   The  NSAPI  module  now  supports  the nsapi_virtual() function (alias:
-   virtual())  to make subrequests on the web server and insert the result
-   in the web page. This function uses some undocumented features from the
-   NSAPI  library.  On  Unix the module automatically looks for the needed
-   functions  and  uses  them  if  available.  If  not, nsapi_virtual() is
-   disabled.
-
-     Note:
 
-     But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!
      __________________________________________________________________
      __________________________________________________________________
 
@@ -1386,8 +1183,7 @@ The configuration file
 
    php.ini is searched for in these locations (in order):
      * SAPI  module specific location (PHPIniDir directive in Apache 2, -c
-       command  line  option  in  CGI and CLI, php_ini parameter in NSAPI,
-       PHP_INI_PATH environment variable in THTTPD)
+       command  line  option  in  CGI and CLI)
      * The  PHPRC environment variable. Before PHP 5.2.0, this was checked
        after the registry key mentioned below.
      * As  of  PHP  5.2.0, the location of the php.ini file can be set for
index c571f3455df8a45c8c5a1dc4e1791100e25fd80b..204831c21828b350d96e85d571a3dfb09e8f4dae 100644 (file)
@@ -115,7 +115,7 @@ clean:
        find . -name \*.la -o -name \*.a | xargs rm -f 
        find . -name \*.so | xargs rm -f
        find . -name .libs -a -type d|xargs rm -rf
-       rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
+       rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
 
 distclean: clean
        rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h main/internal_functions_cli.c main/internal_functions.c stamp-h sapi/apache/libphp$(PHP_MAJOR_VERSION).module sapi/apache_hooks/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp Zend/zend_dtrace_gen.h Zend/zend_dtrace_gen.h.bak Zend/zend_config.h TSRM/tsrm_config.h
@@ -137,7 +137,7 @@ prof-clean:
        find . -name \*.lo -o -name \*.o | xargs rm -f
        find . -name \*.la -o -name \*.a | xargs rm -f 
        find . -name \*.so | xargs rm -f
-       rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
+       rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
 
 prof-use:
        CCACHE_DISABLE=1 $(MAKE) PROF_FLAGS=-fprofile-use all
index cde84377902a09cff8c41612c3339f463c361d74..cf72aad70e904830c61bdd95e7118ebc63d950f0 100644 (file)
@@ -585,10 +585,6 @@ TSRM_API THREAD_T tsrm_thread_id(void)
        return pth_self();
 #elif defined(PTHREADS)
        return pthread_self();
-#elif defined(NSAPI)
-       return systhread_current();
-#elif defined(PI3WEB)
-       return PIThread_getCurrent();
 #elif defined(TSRM_ST)
        return st_thread_self();
 #elif defined(BETHREADS)
@@ -610,10 +606,6 @@ TSRM_API MUTEX_T tsrm_mutex_alloc(void)
 #elif defined(PTHREADS)
        mutexp = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
        pthread_mutex_init(mutexp,NULL);
-#elif defined(NSAPI)
-       mutexp = crit_init();
-#elif defined(PI3WEB)
-       mutexp = PIPlatform_allocLocalMutex();
 #elif defined(TSRM_ST)
        mutexp = st_mutex_new();
 #elif defined(BETHREADS)
@@ -640,10 +632,6 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
 #elif defined(PTHREADS)
                pthread_mutex_destroy(mutexp);
                free(mutexp);
-#elif defined(NSAPI)
-               crit_terminate(mutexp);
-#elif defined(PI3WEB)
-               PISync_delete(mutexp);
 #elif defined(TSRM_ST)
                st_mutex_destroy(mutexp);
 #elif defined(BETHREADS)
@@ -674,11 +662,6 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
        return -1;
 #elif defined(PTHREADS)
        return pthread_mutex_lock(mutexp);
-#elif defined(NSAPI)
-       crit_enter(mutexp);
-       return 0;
-#elif defined(PI3WEB)
-       return PISync_lock(mutexp);
 #elif defined(TSRM_ST)
        return st_mutex_lock(mutexp);
 #elif defined(BETHREADS)
@@ -706,11 +689,6 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
        return -1;
 #elif defined(PTHREADS)
        return pthread_mutex_unlock(mutexp);
-#elif defined(NSAPI)
-       crit_exit(mutexp);
-       return 0;
-#elif defined(PI3WEB)
-       return PISync_unlock(mutexp);
 #elif defined(TSRM_ST)
        return st_mutex_unlock(mutexp);
 #elif defined(BETHREADS)
index 39d4bcc752b8bb88c9be8e3c1b30791cb15e8c7b..2177e924c9fca0a37e37eb709a6542ecf8924e55 100644 (file)
@@ -69,12 +69,6 @@ typedef int ts_rsrc_id;
 #elif defined(PTHREADS)
 # define THREAD_T pthread_t
 # define MUTEX_T pthread_mutex_t *
-#elif defined(NSAPI)
-# define THREAD_T SYS_THREAD
-# define MUTEX_T CRITICAL
-#elif defined(PI3WEB)
-# define THREAD_T PIThread *
-# define MUTEX_T PISync *
 #elif defined(TSRM_ST)
 # define THREAD_T st_thread_t
 # define MUTEX_T st_mutex_t
index 32db2ca9e9405bfaf750c7eb786e76ce7a219aa3..9b717776cdd2669d1ce1c0688b4abe742420dc92 100644 (file)
@@ -2319,7 +2319,6 @@ static inline int accel_find_sapi(void)
                "cli-server",
                "cgi-fcgi",
                "fpm-fcgi",
-               "isapi",
                "apache2filter",
                "apache2handler",
                "litespeed",
@@ -2598,7 +2597,7 @@ static int accel_startup(zend_extension *extension)
                    strcmp(sapi_module.name, "cli") == 0) {
                        zps_startup_failure("Opcode Caching is disabled for CLI", NULL, accelerator_remove_cb);
                } else {
-                       zps_startup_failure("Opcode Caching is only supported in Apache, ISAPI, FPM, FastCGI and LiteSpeed SAPIs", NULL, accelerator_remove_cb);
+                       zps_startup_failure("Opcode Caching is only supported in Apache, FPM, FastCGI and LiteSpeed SAPIs", NULL, accelerator_remove_cb);
                }
                return SUCCESS;
        }
index 388317ddd92de82fccc993682e561d61fd7e5dd6..6dc05caea7d969a96d96997e91432a3c53fed7fe 100644 (file)
@@ -101,9 +101,7 @@ typedef int gid_t;
 typedef char * caddr_t;
 typedef unsigned int uint;
 typedef unsigned long ulong;
-# if !NSAPI
 typedef int pid_t;
-# endif
 
 # ifndef PHP_DEBUG
 #  ifdef inline
index f97c49c941fba8db10caf19625efbcb207fb9a1b..da30cd52d2a2d57bfb09b88293bc19d2de0154ba 100644 (file)
@@ -45,12 +45,6 @@ function get_depends($module)
                /* apache 2 */
                'libhttpd.dll', 'libapr.dll', 'libaprutil.dll','libapr-1.dll', 'libaprutil-1.dll',
 
-               /* pi3web */
-               'piapi.dll', 'pi3api.dll',
-
-               /* nsapi */
-               'ns-httpd30.dll', 'ns-httpd35.dll', 'ns-httpd36.dll', 'ns-httpd40.dll',
-
                /* oracle */
                'oci.dll', 'ociw32.dll',
 
index 0b989e8fe975b17d88acd4fb9450ce00bea740c6..6d3a85d58c5484e63acea3343f3765562f4eaadf 100644 (file)
@@ -64,16 +64,11 @@ Chapter 1. General Installation Considerations
    You may also rent webspace at a company. This way, you don't need to
    set up anything on your own, only write your PHP scripts, upload it to
    the server you rent, and see the results in your browser.
-
-   In case of setting up the server and PHP on your own, you have two
-   choices for the method of connecting PHP to the server. For many
-   servers PHP has a direct module interface (also called SAPI). These
-   servers include Apache, Microsoft Internet Information Server, Netscape
-   and iPlanet servers. Many other servers have support for ISAPI, the
-   Microsoft module interface (OmniHTTPd for example). If PHP has no
-   module support for your web server, you can always use it as a CGI or
-   FastCGI processor. This means you set up your server to use the CGI
-   executable of PHP to process all PHP file requests on the server.
+   If PHP has no module  support  for your web server, ´you can always use 
+   it as a CGI or FastCGI  processor.  This  means  you set up your server 
+   to use the  CGI executable of PHP to process all  PHP file  requests on 
+   the server.
 
    If you are also interested to use PHP for command line scripting (e.g.
    write scripts autogenerating some images for you offline, or processing
@@ -236,7 +231,7 @@ c:\php
 
    Server modules provide significantly better performance and additional
    functionality compared to the CGI binary. The FastCGI is significantly
-   more stable and can be faster than the ISAPI module with IIS.
+   more stable and can be a faster module with IIS.
    The CLI version is designed to let you use PHP for command line 
    scripting. More information about CLI is available in the chapter 
    about using PHP from the command line.
@@ -408,67 +403,6 @@ General considerations for all installations of PHP with IIS
        that PHP did not output any data.
      __________________________________________________________________
 
-Windows NT/200x/XP and IIS 4 or newer
-
-   PHP may be installed as a CGI binary, or with the ISAPI module. In
-   either case, you need to start the Microsoft Management Console (may
-   appear as 'Internet Services Manager', either in your Windows NT 4.0
-   Option Pack branch or the Control Panel=>Administrative Tools under
-   Windows 2000/XP). Then right click on your Web server node (this will
-   most probably appear as 'Default Web Server'), and select 'Properties'.
-
-   If you want to use the CGI binary, do the following:
-
-     * Under 'Home Directory', 'Virtual Directory', or 'Directory', do the
-       following:
-     * Change the Execute Permissions to 'Scripts only'
-     * Click on the 'Configuration' button, and choose the Application
-       Mappings tab. Click Add and set the Executable path to the
-       appropriate CGI file. An example PHP 7 value is: C:\php\php-cgi.exe
-       Supply .php as the extension. Leave 'Method exclusions' blank, and
-       check the 'Script engine' checkbox. Now, click OK a few times.
-     * Set up the appropriate security. (This is done in Internet Service
-       Manager), and if your NT Server uses NTFS file system, add execute
-       rights for I_USR_ to the directory that contains php.exe /
-       php-cgi.exe.
-
-   To use the ISAPI module, do the following:
-
-     * If you don't want to perform HTTP Authentication using PHP, you can
-       (and should) skip this step. Under ISAPI Filters, add a new ISAPI
-       filter. Use PHP as the filter name, and supply a path to the
-       php7isapi.dll.
-     * Under 'Home Directory', 'Virtual Directory', or 'Directory', do the
-       following:
-     * Change the Execute Permissions to 'Scripts only'
-     * Click on the 'Configuration' button, and choose the Application
-       Mappings tab. Click Add and set the Executable path to the
-       appropriate ISAPI DLL. An example PHP 7 value is:
-       C:\php\php7isapi.dll Supply .php as the extension. Leave 'Method
-       exclusions' blank, and check the 'Script engine' checkbox. Now,
-       click OK a few times.
-     * Stop IIS completely (NET STOP iisadmin)
-     * Start IIS again (NET START w3svc)
-
-   With IIS 6 (2003 Server), open up the IIS Manager, go to Web Service
-   Extensions, choose "Add a new Web service extension", enter in a name
-   such as PHP, choose the Add button and for the value browse to either
-   the ISAPI file (php7isapi.dll) or CGI (php.exe or
-   php-cgi.exe) then check "Set extension status to Allowed" and click OK.
-
-   In order to use index.php as a default content page, do the following:
-   From within the Documents tab, choose Add. Type in index.php and click
-   OK. Adjust the order by choosing Move Up or Move Down. This is similar
-   to setting DirectoryIndex with Apache.
-
-   The steps above must be repeated for each extension that is to be
-   associated with PHP scripts. .php is the most common although .php3 may
-   be required for legacy applications.
-
-   If you experience 100% CPU usage after some time, turn off the IIS
-   setting Cache ISAPI Application.
-     __________________________________________________________________
-
 Windows and IIS
 
 See http://www.php.net/install.windows
@@ -683,18 +617,6 @@ PHPIniDir "C:/php"
    ship with your downloaded PHP version.
      __________________________________________________________________
 
-Sun, iPlanet and Netscape servers on Microsoft Windows
-
-   This section contains notes and hints specific to Sun Java System Web
-   Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP
-   on Windows.
-
-   From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to
-   generate custom directory listings and error pages. Additional
-   functions for Apache compatibility are also available. For support in
-   current web servers read the note about subrequests.
-     __________________________________________________________________
-
 CGI setup on Sun, iPlanet and Netscape servers
 
    To install PHP as a CGI handler, do the following:
@@ -720,70 +642,6 @@ ftype PHPScript=c:\php\php.exe %1 %*
    here: http://benoit.noss.free.fr/php/install-php.html
      __________________________________________________________________
 
-NSAPI setup on Sun, iPlanet and Netscape servers
-
-   To install PHP with NSAPI, do the following:
-
-     * Copy php7ts.dll to your systemroot (the directory where you
-       installed Windows)
-     * Make a file association from the command line. Type the following
-       two lines:
-
-assoc .php=PHPScript
-ftype PHPScript=c:\php\php.exe %1 %*
-
-     * In the Netscape Enterprise Administration Server create a new mime
-       type (Category: type, Content-Type: magnus-internal/x-httpd-php,
-       File Suffix: php).
-     * Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6)
-       and add the following: You should place the lines after mime types
-       init.
-
-Init fn="load-modules" funcs="php7_init,php7_execute,php7_auth_trans" shlib="c:/
-php/sapi/php7nsapi.dll"
-Init fn="php7_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_
-ini="c:/path/to/php.ini"]
-
-       The php_ini parameter is optional but with it you
-       can place your php.ini in your web server configuration directory.
-     * Configure the default object in obj.conf (for virtual server
-       classes [Sun Web Server 6.0+] in their vserver.obj.conf): In the
-       <Object name="default"> section, place this line necessarily after
-       all 'ObjectType' and before all 'AddLog' lines:
-
-Service fn="php7_execute" type="magnus-internal/x-httpd-php" [inikey=value inike
-y=value ...]
-
-       As additional parameters you can add some special
-       php.ini-values, for example you can set a
-       docroot="/path/to/docroot" specific to the context php7_execute is
-       called. For boolean ini-keys please use 0/1 as value, not
-       "On","Off",... (this will not work correctly), e.g.
-       zlib.output_compression=1 instead of zlib.output_compression="On"
-     * This is only needed if you want to configure a directory that only
-       consists of PHP scripts (same like a cgi-bin directory):
-
-<Object name="x-httpd-php">
-ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
-Service fn=php7_execute [inikey=value inikey=value ...]
-</Object>
-
-       After that you can configure a directory in the Administration
-       server and assign it the style x-httpd-php. All files in it will
-       get executed as PHP. This is nice to hide PHP usage by renaming
-       files to .html.
-     * Restart your web service and apply changes
-     * Do it for each web server instance you want PHP to run
-
-     Note: More details about setting up PHP as an NSAPI filter can be
-     found here: http://benoit.noss.free.fr/php/install-php4.html
-
-     Note: The stacksize that PHP uses depends on the configuration of
-     the web server. If you get crashes with very large PHP scripts, it
-     is recommended to raise it with the Admin Server (in the section
-     "MAGNUS EDITOR").
-     __________________________________________________________________
-
 CGI environment and recommended modifications in php.ini
 
    Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE
@@ -832,35 +690,6 @@ pt.php" [inikey=value inikey=value...]
    $_SERVER['PATH_TRANSLATED'].
      __________________________________________________________________
 
-Note about nsapi_virtual() and subrequests (PHP >= 4.3.3)
-
-   The NSAPI module now supports the nsapi_virtual() function (alias:
-   virtual()) to make subrequests on the web server and insert the result
-   in the web page. The problem is, that this function uses some
-   undocumented features from the NSAPI library.
-
-   Under Unix this is not a problem, because the module automatically
-   looks for the needed functions and uses them if available. If not,
-   nsapi_virtual() is disabled.
-
-   Under Windows limitations in the DLL handling need the use of a
-   automatic detection of the most recent ns-httpdXX.dll file. This is
-   tested for servers till version 6.1. If a newer version of the Sun
-   server is used, the detection fails and nsapi_virtual() is disabled.
-
-   If this is the case, try the following: Add the following parameter to
-   php7_init in magnus.conf/obj.conf:
-   Init fn=php7_init ... server_lib="ns-httpdXX.dll"
-
-   where XX is the correct DLL version number. To get it, look in the
-   server-root for the correct DLL name. The DLL with the biggest filesize
-   is the right one.
-
-   You can check the status by using the phpinfo() function.
-
-     Note: But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!!
-     __________________________________________________________________
-
 OmniHTTPd Server
 
    This section contains notes and hints specific to OmniHTTPd on Windows.
@@ -875,8 +704,7 @@ OmniHTTPd Server
 
    You need to complete the following steps to make PHP work with
    OmniHTTPd. This is a CGI executable setup. SAPI is supported by
-   OmniHTTPd, but some tests have shown that it is not so stable to use
-   PHP as an ISAPI module.
+   OmniHTTPd.
 
      Important for CGI users: Read the faq on cgi.force_redirect for
      important details. This directive needs to be set to 0.
@@ -988,20 +816,12 @@ extension=php_bz2.dll
    Extension Description Notes
    php_bz2.dll bzip2 compression functions None
    php_calendar.dll Calendar conversion functions
-   php_cpdf.dll ClibPDF functions None
-   php_crack.dll Crack functions None
    php_ctype.dll ctype family functions
    php_curl.dll CURL, Client URL library functions Requires: libeay32.dll,
    ssleay32.dll (bundled)
-   php_db.dll DBM functions Deprecated. Use DBA instead (php_dba.dll)
    php_dba.dll DBA: DataBase (dbm-style) Abstraction layer functions None
-   php_dbase.dll dBase functions None
-   php_dbx.dll dbx functions
    php_exif.dll EXIF functions php_mbstring.dll. And, php_exif.dll must be
    loaded after php_mbstring.dll in php.ini.
-   php_fdf.dll FDF: Forms Data Format functions. Requires: fdftk.dll
-   (bundled)
-   php_filepro.dll filePro functions Read-only access
    php_ftp.dll FTP functions
    php_gd2.dll GD library image functions GD2
    php_gettext.dll Gettext functions, requires libintl-1.dll, 
@@ -1011,10 +831,6 @@ extension=php_bz2.dll
    php_interbase.dll InterBase functions Requires: gds32.dll (bundled)
    php_ldap.dll LDAP functions requires libeay32.dll, ssleay32.dll (bundled)
    php_mbstring.dll Multi-Byte String functions None
-   php_mime_magic.dll Mimetype functions Requires: magic.mime (bundled)
-   php_ming.dll Ming functions for Flash None
-   php_msql.dll mSQL functions Requires: msql.dll (bundled)
-   php_mssql.dll MSSQL functions Requires: ntwdblib.dll (bundled)
    php_mysql.dll MySQL functions PHP >= 5.0.0, requires libmysql.dll
    (bundled)
    php_mysqli.dll MySQLi functions PHP >= 5.0.0, requires libmysql.dll
@@ -1023,13 +839,11 @@ extension=php_bz2.dll
    php_openssl.dll OpenSSL functions Requires: libeay32.dll (bundled)
    php_oracle.dll Oracle functions Requires: Oracle 7 client libraries
    php_pgsql.dll PostgreSQL functions None
-   php_printer.dll Printer functions None
    php_shmop.dll Shared Memory functions None
    php_snmp.dll SNMP get and walk functions NT only!
    php_soap.dll SOAP functions PHP >= 5.0.0
    php_sockets.dll Socket functions None
    php_sodium.dll Sodium cryptography library PHP >= 7.2.0
-   php_sybase_ct.dll Sybase functions Requires: Sybase client libraries
    php_tidy.dll Tidy functions PHP >= 5.0.0
    php_tokenizer.dll Tokenizer functions Built in since PHP 4.3.0
    php_xmlrpc.dll XML-RPC functions PHP >= 4.2.1 requires: iconv.dll
@@ -1247,8 +1061,7 @@ The configuration file
    php.ini is searched in these locations (in order):
 
      * SAPI module specific location (PHPIniDir directive in Apache 2, -c
-       command line option in CGI and CLI, php_ini parameter in NSAPI,
-       PHP_INI_PATH environment variable in THTTPD)
+       command line option in CGI and CLI)
      * The PHPRC environment variable. Before PHP 5.2.0 this was checked
        after the registry key mentioned below.
      * As of PHP 5.2.0, the following registry locations are searched in