Remove old references to SAPIs and extensions no longer in the core

This commit is contained in:
Kalle Sommer Nielsen 2017-07-19 09:09:24 +02:00
parent 21d5636da8
commit bfdd22a3de
8 changed files with 16 additions and 444 deletions

214
INSTALL
View file

@ -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

View 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

View 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)

View 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

View 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;
}

View 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

View 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',

View file

@ -65,15 +65,10 @@ Chapter 1. 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
@ -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