mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 00:48:54 +00:00
Partial rewrite of configuration (was really needed because of simply wrong infomations...). New things in PHP 4.3.3
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@136741 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
037ff408a4
commit
0d9362ff2c
1 changed files with 116 additions and 44 deletions
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.4 $ -->
|
||||
<!-- $Revision: 1.5 $ -->
|
||||
<sect1 id="install.netscape-enterprise">
|
||||
<title>Servers-Netscape, iPlanet and SunONE</title>
|
||||
<para>
|
||||
|
@ -7,13 +7,20 @@
|
|||
installs of PHP, both for <link linkend="install.netscape.sun">Sun Solaris</link>
|
||||
and <link linkend="install.netscape.windows">Windows</link> versions.
|
||||
</para>
|
||||
<para>
|
||||
From PHP 4.3.3 on you can use PHP scripts with the <link linkend="ref.nsapi">NSAPI module</link> to
|
||||
<link linkend="install.netscape.specialpages">generate custom directory listings and
|
||||
error pages</link>. Additional functions for Apache compatibility are also available.
|
||||
For support in current webservers read the
|
||||
<link linkend="install.netscape.notes">note about subrequests</link>.
|
||||
</para>
|
||||
<para>
|
||||
You can find more information about setting up PHP for the Netscape
|
||||
Enterprise Server (NES) here:
|
||||
<ulink url="&url.netscape.nsapi;">&url.netscape.nsapi;</ulink>
|
||||
</para>
|
||||
<sect2 id="install.netscape.sun">
|
||||
<title>Installing PHP with Netscape on Sun Solaris</title>
|
||||
<title>Installing PHP with NES/iPlanet/SunONE Webserver on Sun Solaris</title>
|
||||
<para>
|
||||
To build PHP with NES/iPlanet/SunONE webservers, enter the proper install
|
||||
directory for the
|
||||
|
@ -22,12 +29,6 @@
|
|||
<filename class="directory">/opt/netscape/suitespot/</filename>.
|
||||
Please also read <filename>/php-xxx-version/sapi/nsapi/nsapi-readme.txt</filename>.
|
||||
</para>
|
||||
<note>
|
||||
<simpara>
|
||||
These instructions are written for Sun Solaris 2.6 with Netscape
|
||||
Enterprise Server 3.6, conributed by bhager at invacare dot com.
|
||||
</simpara>
|
||||
</note>
|
||||
<para>
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -102,11 +103,11 @@
|
|||
you may need to perform some additional configuration steps.
|
||||
</para>
|
||||
<formalpara>
|
||||
<title>Configuration Instructions for NES</title>
|
||||
<title>Configuration Instructions for NES/iPlanet/SunONE</title>
|
||||
<para>
|
||||
Firstly you may need to add some paths to the LD_LIBRARY_PATH environment
|
||||
for Netscape to find all the shared libs. This can best done in the start
|
||||
script for your Netscape server. Windows users can probably skip this
|
||||
for SunONE to find all the shared libs. This can best done in the start
|
||||
script for your SunONE webserver. Windows users can probably skip this
|
||||
step. The start script is often located in: <filename
|
||||
class="directory">/path/to/server/https-servername/start</filename>.
|
||||
You may also need to edit the configuration files that are
|
||||
|
@ -115,7 +116,8 @@
|
|||
<orderedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Add the following line to <filename>mime.types</filename>:
|
||||
Add the following line to <filename>mime.types</filename> (you can do
|
||||
that by the administration server):
|
||||
<screen>
|
||||
<![CDATA[
|
||||
type=magnus-internal/x-httpd-php exts=php
|
||||
|
@ -125,17 +127,18 @@ type=magnus-internal/x-httpd-php exts=php
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Edit <filename>obj.conf</filename> and add the following, shlib will
|
||||
Edit <filename>magnus.conf</filename> (for servers >= 6) or
|
||||
<filename>obj.conf</filename> (for servers < 6) and add the following, shlib will
|
||||
vary depending on your OS, for Unix it will be something like
|
||||
<filename>/opt/netscape/suitespot/bin/libphp4.so</filename>. You should
|
||||
place the following lines after <literal>mime types init</literal>.
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
|
||||
Init fn=php4_init errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
|
||||
Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
|
||||
]]>
|
||||
</programlisting>
|
||||
The <literal>php_ini</literal> parameter is optional but with it you can place your
|
||||
(PHP >= 4.3.3) The <literal>php_ini</literal> parameter is optional but with it you can place your
|
||||
&php.ini; in your webserver config directory.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -144,25 +147,26 @@ Init fn=php4_init errorString="Failed to initialize PHP!" [php_ini="/path/to/php
|
|||
Configure the default object:
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
<object name="default">
|
||||
<Object name="default">
|
||||
.
|
||||
.
|
||||
.
|
||||
.#NOTE this next line should happen after all 'ObjectType' and before all 'AddLog' lines
|
||||
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
|
||||
.
|
||||
.
|
||||
</Object>
|
||||
.
|
||||
.
|
||||
</Object>
|
||||
]]>
|
||||
</programlisting>
|
||||
As additional parameters you can add some special &php.ini;-values, for example you
|
||||
(PHP >= 4.3.3) As additional parameters you can add some special &php.ini;-values, for example you
|
||||
can set a <literal>docroot</literal> specific to the context <literal>php4_execute</literal>
|
||||
is called.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Create a new object for the usage of PHP:
|
||||
This is only needed if you want to configure a directory that only consists of
|
||||
PHP scripts (same like a <filename class="directory">cgi-bin</filename> directory):
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
<Object name="x-httpd-php">
|
||||
|
@ -171,6 +175,9 @@ Service fn=php4_execute [inikey=value inikey=value ...]
|
|||
</Object>
|
||||
]]>
|
||||
</programlisting>
|
||||
After that you can configure a directory in the Administration server and assign it
|
||||
the style <literal>x-httpd-php</literal>. All files in it will get executed as PHP.
|
||||
This is nice to hide PHP usage by renaming files to <filename>.html</filename>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -206,21 +213,9 @@ AuthTrans fn=php4_auth_trans
|
|||
</orderedlist>
|
||||
</para>
|
||||
</formalpara>
|
||||
<para>
|
||||
If you are running Netscape Enterprise 4.x, then you should use the
|
||||
following: Place these lines after the <literal>mime types init</literal>,
|
||||
and everything else is similar to the example configuration above.
|
||||
(Contributed by Graeme Hoose, GraemeHoose at BrightStation dot com).
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
Init fn="load-modules" shlib="/path/to/server4/bin/libphp4.so" funcs="php4_init,php4_execute,php4_auth_trans"
|
||||
Init fn="php4_init" LateInit="yes" [php_ini="/path/to/php.ini"]
|
||||
]]>
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2 id="install.netscape.windows">
|
||||
<title>Installing PHP with Netscape on Windows</title>
|
||||
<title>Installing PHP with NES/iPlanet/SunONE on Windows</title>
|
||||
<para>
|
||||
To Install PHP as CGI (for Netscape Enterprise Server,
|
||||
iPlanet, SunONE, perhaps Fastrack), do the following:
|
||||
|
@ -272,7 +267,7 @@ ftype PHPScript=c:\php\php.exe %1 %*
|
|||
</para>
|
||||
<para>
|
||||
To Install PHP as NSAPI (for Netscape Enterprise Server,
|
||||
iPlanet, SunONE, perhaps Fastrack, do the following:
|
||||
iPlanet, SunONE, perhaps Fastrack), do the following:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
|
@ -302,22 +297,23 @@ ftype PHPScript=c:\php\php.exe %1 %*
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Stop your web service and edit <filename>obj.conf</filename>.
|
||||
At the end of the Init section, place these two lines
|
||||
(necessarily after mime type init!):
|
||||
Edit <filename>magnus.conf</filename> (for servers >= 6) or
|
||||
<filename>obj.conf</filename> (for servers < 6) and add the following:
|
||||
You should
|
||||
place the the lines after <literal>mime types init</literal>.
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
|
||||
Init fn="php4_init" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
|
||||
Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
|
||||
]]>
|
||||
</programlisting>
|
||||
The <literal>php_ini</literal> parameter is optional but with it you can place your
|
||||
(PHP >= 4.3.3) The <literal>php_ini</literal> parameter is optional but with it you can place your
|
||||
&php.ini; in your webserver config directory.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
In The <literal>< Object name="default" ></literal>
|
||||
In the <literal><Object name="default"></literal>
|
||||
section, place this line necessarily after all 'ObjectType'
|
||||
and before all 'AddLog' lines:
|
||||
<programlisting>
|
||||
|
@ -325,15 +321,15 @@ Init fn="php4_init" errorString="Failed to initialise PHP!" [php_ini="c:/path/to
|
|||
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
|
||||
]]>
|
||||
</programlisting>
|
||||
As additional parameters you can add some special &php.ini;-values, for example you
|
||||
(PHP >= 4.3.3) As additional parameters you can add some special &php.ini;-values, for example you
|
||||
can set a <literal>docroot</literal> specific to the context <literal>php4_execute</literal>
|
||||
is called.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
At the end of the file, create a new object called
|
||||
<literal>x-httpd-php</literal>, by inserting these lines:
|
||||
This is only needed if you want to configure a directory that only consists of
|
||||
PHP scripts (same like a cgi-bin directory):
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
<Object name="x-httpd-php">
|
||||
|
@ -342,6 +338,9 @@ Service fn=php4_execute [inikey=value inikey=value ...]
|
|||
</Object>
|
||||
]]>
|
||||
</programlisting>
|
||||
After that you can configure a directory in the Administration server and assign it
|
||||
the style <literal>x-httpd-php</literal>. All files in it will get executed as PHP.
|
||||
This is nice to hide PHP usage by renaming files to <filename>.html</filename>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -361,6 +360,79 @@ Service fn=php4_execute [inikey=value inikey=value ...]
|
|||
<ulink url="&url.netscape.nsapi;">&url.netscape.nsapi;</ulink>
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2 id="install.netscape.specialpages">
|
||||
<title>Special use for error pages or self-made directory listings (PHP >= 4.3.3)</title>
|
||||
<para>
|
||||
You can use PHP to generate the error pages for "404 Not Found"
|
||||
or similar. Add the following line to the object in <filename>obj.conf</filename> for
|
||||
every error page you want to overwrite:
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
|
||||
]]>
|
||||
</programlisting>
|
||||
where <literal>XXX</literal> ist the HTTP error code. Please delete any other <literal>Error</literal>
|
||||
directives which could interfere with yours.
|
||||
If you want to place a page for all errors that could exist, leave
|
||||
the <literal>code</literal> parameter out. Your script can get the HTTP status code
|
||||
with <literal>$_SERVER['ERROR_TYPE']</literal>.
|
||||
</para>
|
||||
<para>
|
||||
Another posibility 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
|
||||
<literal>type="magnus-internal/directory"</literal> in <filename>obj.conf</filename> with the following:
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
|
||||
]]>
|
||||
</programlisting>
|
||||
For both error and directory listing pages the original URI and
|
||||
translated URI are in the variables <literal>$_SERVER['PATH_INFO']</literal> and
|
||||
<literal>$_SERVER['PATH_TRANSLATED']</literal>.
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2 id="install.netscape.notes">
|
||||
<title>Note about <function>nsapi_virtual</function> and subrequests (PHP >= 4.3.3)</title>
|
||||
<para>
|
||||
The NSAPI module now supports the <function>nsapi_virtual</function> function
|
||||
(alias: <function>virtual</function>)
|
||||
to make subrequests on the webserver and insert the result in the webpage.
|
||||
The problem is, that this function uses some undocumented features from
|
||||
the NSAPI library.
|
||||
</para>
|
||||
<para>
|
||||
Under Unix this is not a problem, because the module automatically looks
|
||||
for the needed functions and uses them if available. If not, <function>nsapi_virtual</function>
|
||||
is disabled.
|
||||
</para>
|
||||
<para>
|
||||
Under Windows limitations in the DLL handling need the use of a automatic
|
||||
detection of the most recent <filename>ns-httpdXX.dll</filename> file. This is tested for servers
|
||||
till version 6.0. If a newer version of the SunONE server is used, the detection
|
||||
fails and <function>nsapi_virtual</function> is disabled.
|
||||
</para>
|
||||
<para>
|
||||
If this is the case, try the following:
|
||||
Add the following parameter to <literal>php4_init</literal> in
|
||||
<filename>magnus.conf</filename>/<filename>obj.conf</filename>:
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
Init fn=php4_init ... server_lib="ns-httpdXX.dll"
|
||||
]]>
|
||||
</programlisting>
|
||||
where <literal>XX</literal> 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.
|
||||
</para>
|
||||
<para>
|
||||
You can check the status by using the <function>phpinfo</function> function.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
But be warned: Support for <function>nsapi_virtual</function> is EXPERIMENTAL!!!
|
||||
</para>
|
||||
</note>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
|
Loading…
Reference in a new issue