mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Remove old references to SAPIs and extensions no longer in the core
This commit is contained in:
parent
21d5636da8
commit
bfdd22a3de
8 changed files with 16 additions and 444 deletions
214
INSTALL
214
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
|
||||
|
|
|
@ -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
|
||||
|
|
22
TSRM/TSRM.c
22
TSRM/TSRM.c
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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',
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue