finally switch to the new install part

#going to sleep now :)


git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@165570 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Nuno Lopes 2004-08-06 22:37:44 +00:00
parent ab9ab888cc
commit f8ab0f13f0
28 changed files with 14 additions and 4555 deletions

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<appendix id="configure">
<title>Configure options</title>
@ -12,7 +12,7 @@
locations on the extension reference pages and not here. For a complete
up-to-date list of configure options, run <command>./configure --help</command>
in your PHP source directory after running <command>autoconf</command>
(see also the <link linkend="installation">Installation chapter</link>).
(see also the <link linkend="install">Installation chapter</link>).
You may also be interested in reading the
<ulink url="&url.gnu.configure;">GNU configure</ulink> documentation for
information on additional <command>configure</command> options such as

View file

@ -1,8 +0,0 @@
Please do not modify and/or put effort into translating the install.*.xml
files and the config.xml file, since these are going to move to the install
folder, get further split, and then their content will be reorganized. So
putting time and effort now to translate these files is worthless. Also it
would be nice if you would not modify these files, since the install folder
files will replace these, and modification is expected to be done there.
goba (at) php.net

View file

@ -1,263 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.120 $ -->
<chapter id="configuration">
<title>Runtime Configuration</title>
<sect1 id="configuration.file">
<title>The configuration file</title>
<simpara>
The configuration file (called <filename>php3.ini</filename> in
PHP 3, and simply &php.ini; as of PHP 4)
is read when PHP starts up. For the server module versions of PHP,
this happens only once when the web server is started. For the
<acronym>CGI</acronym> and <acronym>CLI</acronym> version, it happens on
every invocation.
</simpara>
<para>
The default location of &php.ini; is a compile time option (see the <link
linkend="faq.installation.phpini">FAQ</link> entry), but can be changed
for the <acronym>CGI</acronym> and <acronym>CLI</acronym> version with the
<literal>-c</literal> command line switch, see the chapter about using
PHP from the <link
linkend="features.commandline">command line</link>. You can also use the
environment variable <varname>PHPRC</varname> for an additional path to
search for a &php.ini; file.
</para>
<para>
If <filename>php-SAPI.ini</filename> exists (where SAPI is used SAPI, so the
filename is e.g. <filename>php-cli.ini</filename> or
<filename>php-apache.ini</filename>), it's used instead of &php.ini;.
</para>
<note>
<para>
The Apache web server changes the directory to root at startup causing
PHP to attempt to read &php.ini; from the root filesystem if it exists.
</para>
</note>
<para>
The &php.ini; directives handled by extensions are documented respectively
on the pages of the extensions themselfs. The <link linkend="ini">list of
the core directives</link> is available in the appendix. Most of the PHP
directives are listed in <function>ini_set</function> with change
permissions and links to documentation. For a complete list
of directives available in your PHP version, please read your well commented
&php.ini; file. Alternatively, you may find the
<ulink url="&url.php.cvs.phpini;">the latest &php.ini;</ulink> from CVS
helpful too.
</para>
<para>
<example>
<title>&php.ini; example</title>
<programlisting role="ini">
<![CDATA[
; any text on a line after an unquoted semicolon (;) is ignored
[php] ; section markers (text within square brackets) are also ignored
; Boolean values can be set to either:
; true, on, yes
; or false, off, no, none
register_globals = off
track_errors = yes
; you can enclose strings in double-quotes
include_path = ".:/usr/local/lib/php"
; backslashes are treated the same as any other character
include_path = ".;c:\php\lib"
]]>
</programlisting>
<!-- TODO: add more details about values and expressions -->
</example>
</para>
</sect1>
<sect1 id="configuration.changes">
<title>How to change configuration settings</title>
<sect2 id="configuration.changes.apache">
<title>Running PHP as an Apache module</title>
<simpara>
When using PHP as an Apache module, you can also change the
configuration settings using directives in Apache configuration
files (e.g. &httpd.conf;) and &htaccess; files. You will need
"AllowOverride Options" or "AllowOverride All" privileges to do so.
</simpara>
<para>
With PHP 4 and PHP 5, there are several Apache directives that allow you
to change the PHP configuration from within the Apache configuration
files. For a listing of which directives are
<constant>PHP_INI_ALL</constant>, <constant>PHP_INI_PERDIR</constant>,
or <constant>PHP_INI_SYSTEM</constant>, have a look at the table
found within the <function>ini_set</function> documentation.
</para>
<note>
<simpara>
With PHP 3, there are Apache directives that correspond to each
configuration setting in the <filename>php3.ini</filename> name,
except the name is prefixed by "php3_".
</simpara>
</note>
<para>
<variablelist>
<varlistentry>
<term>
<systemitem role="directive">php_value</systemitem>
<parameter>name</parameter>
<parameter>value</parameter>
</term>
<listitem>
<para>
Sets the value of the specified directive.
Can be used only with <constant>PHP_INI_ALL</constant> and <constant>PHP_INI_PERDIR</constant> type directives.
To clear a previously set value use <literal>none</literal> as the value.
</para>
<note>
<simpara>
Don't use <systemitem role="directive">php_value</systemitem> to set boolean values.
<systemitem role="directive">php_flag</systemitem> (see below) should be used instead.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>
<systemitem role="directive">php_flag</systemitem>
<parameter>name</parameter>
<parameter>on|off</parameter>
</term>
<listitem>
<para>
Used to set a boolean configuration directive.
Can be used only with <constant>PHP_INI_ALL</constant> and
<constant>PHP_INI_PERDIR</constant> type directives.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<systemitem role="directive">php_admin_value</systemitem>
<parameter>name</parameter>
<parameter>value</parameter>
</term>
<listitem>
<para>
Sets the value of the specified directive.
This <emphasis>can not be used</emphasis> in &htaccess; files.
Any directive type set with <systemitem role="directive">php_admin_value</systemitem>
can not be overridden by &htaccess; or virtualhost directives.
To clear a previously set value use <literal>none</literal> as the value.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<systemitem role="directive">php_admin_flag</systemitem>
<parameter>name</parameter>
<parameter>on|off</parameter>
</term>
<listitem>
<para>
Used to set a boolean configuration directive.
This <emphasis>can not be used</emphasis> in &htaccess; files.
Any directive type set with <systemitem role="directive">php_admin_flag</systemitem>
can not be overridden by &htaccess; or virtualhost directives.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
<example>
<title>Apache configuration example</title>
<programlisting role="ini">
<![CDATA[
<IfModule mod_php5.c>
php_value include_path ".:/usr/local/lib/php"
php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php4.c>
php_value include_path ".:/usr/local/lib/php"
php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php3.c>
php3_include_path ".:/usr/local/lib/php"
php3_safe_mode on
</IfModule>
]]>
</programlisting>
</example>
</para>
<caution>
<para>
PHP constants do not exist outside of PHP. For example, in
&httpd.conf; you can not use PHP constants
such as <constant>E_ALL</constant> or <constant>E_NOTICE</constant>
to set the <link linkend="ini.error-reporting">error_reporting</link>
directive as they will have no meaning and will evaluate to
<emphasis>0</emphasis>. Use the associated bitmask values instead.
These constants can be used in &php.ini;
</para>
</caution>
</sect2>
<sect2 id="configuration.changes.windows">
<title>Changing PHP configuration via the Windows registry</title>
<simpara>
When running PHP on Windows, the configuration values can be
modified on a per-directory basis using the Windows registry. The
configuration values are stored in the registry key
<literal>HKLM\SOFTWARE\PHP\Per Directory Values</literal>,
in the sub-keys corresponding to the path names. For example, configuration
values for the directory <literal>c:\inetpub\wwwroot</literal> would
be stored in the key <literal>HKLM\SOFTWARE\PHP\Per Directory
Values\c\inetpub\wwwroot</literal>. The settings for the
directory would be active for any script running from this
directory or any subdirectory of it. The values under the key
should have the name of the PHP configuration directive and the
string value. PHP constants in the values are not parsed.
</simpara>
</sect2>
<sect2 id="configuration.changes.other">
<title>Other interfaces to PHP</title>
<para>
Regardless of how you run PHP, you can change certain values at runtime
of your scripts through <function>ini_set</function>. See the documentation
on the <function>ini_set</function> page for more information.
</para>
<para>
If you are interested in a complete list of configuration settings
on your system with their current values, you can execute the
<function>phpinfo</function> function, and review the resulting
page. You can also access the values of individual configuration
directives at runtime using <function>ini_get</function> or
<function>get_cfg_var</function>.
</para>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,422 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.24 $ -->
<sect1 id="install.apache">
<title>Servers-Apache</title>
<para>
This section contains notes and hints specific to Apache installs
of PHP, both for <link linkend="install.apache.unix">Unix</link> and
<link linkend="install.apache.windows">Windows</link> versions. We also
have <link linkend="install.apache2">instructions and notes for Apache 2
on a separate page</link>.
</para>
<sect2 id="install.apache.unix">
<title>Details of installing PHP with Apache on Unix</title>
<para>
You can select arguments to add to the
<command>configure</command> on line 10 below from the <link
linkend="configure">configure options</link>. The version numbers have
been omitted here, to ensure the instructions are not incorrect. You
will need to replace the 'xxx' here with the correct values from your
files.
</para>
<example id="install.apache.unix.longer">
<title>
Installation Instructions (Apache Shared Module Version) for PHP
</title>
<screen>
<![CDATA[
1. gunzip apache_xxx.tar.gz
2. tar -xvf apache_xxx.tar
3. gunzip php-xxx.tar.gz
4. tar -xvf php-xxx.tar
5. cd apache_xxx
6. ./configure --prefix=/www --enable-module=so
7. make
8. make install
9. cd ../php-xxx
10. Now, configure your PHP. This is where you customize your PHP
with various options, like which extensions will be enabled. Do a
./configure --help for a list of available options. In our example
we'll do a simple configure with Apache 1 and MySQL support. Your
path to apxs may differ from our example.
./configure --with-mysql --with-apxs=/www/bin/apxs
11. make
12. make install
If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.
Note that unless told otherwise, 'make install' will also install PEAR,
various PHP tools such as phpize, install the PHP CLI, and more.
13. Setup your php.ini file:
cp php.ini-dist /usr/local/lib/php.ini
You may edit your .ini file to set PHP options. If you prefer your
php.ini in another location, use --with-config-file-path=/some/path in
step 10.
If you instead choose php.ini-recommended, be certain to read the list
of changes within, as they affect how PHP behaves.
14. Edit your httpd.conf to load the PHP module. The path on the right hand
side of the LoadModule statement must point to the path of the PHP
module on your system. The make install from above may have already
added this for you, but be sure to check.
For PHP 4:
LoadModule php4_module libexec/libphp4.so
For PHP 5:
LoadModule php5_module libexec/libphp5.so
15. And in the AddModule section of httpd.conf, somewhere under the
ClearModuleList, add this:
For PHP 4:
AddModule mod_php4.c
For PHP 5:
AddModule mod_php5.c
16. Tell Apache to parse certain extensions as PHP. For example,
let's have Apache parse the .php extension as PHP. You could
have any extension(s) parse as PHP by simply adding more, with
each separated by a space. We'll add .phtml to demonstrate.
AddType application/x-httpd-php .php .phtml
It's also common to setup the .phps extension to show highlighted PHP
source, this can be done with:
AddType application/x-httpd-php-source .phps
17. Use your normal procedure for starting the Apache server. (You must
stop and restart the server, not just cause the server to reload by
using a HUP or USR1 signal.)
]]>
</screen>
</example>
<para>
Depending on your Apache install and Unix variant, there are many
possible ways to stop and restart the server. Below are some typical
lines used in restarting the server, for different apache/unix
installations. You should replace <literal>/path/to/</literal> with
the path to these applications on your systems.
</para>
<para>
<example>
<title>Example commands for restarting Apache</title>
<programlisting role="shell">
<![CDATA[
1. Several Linux and SysV variants:
/etc/rc.d/init.d/httpd restart
2. Using apachectl scripts:
/path/to/apachectl stop
/path/to/apachectl start
3. httpdctl and httpsdctl (Using OpenSSL), similar to apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start
4. Using mod_ssl, or another SSL server, you may want to manually
stop and start:
/path/to/apachectl stop
/path/to/apachectl startssl
]]>
</programlisting>
</example>
</para>
<para>
The locations of the apachectl and http(s)dctl binaries often
vary. If your system has <literal>locate</literal> or
<literal>whereis</literal> or <literal>which</literal> commands,
these can assist you in finding your server control programs.
</para>
<para>
Different examples of compiling PHP for apache are as follows:
<informalexample>
<programlisting role="shell">
<![CDATA[
./configure --with-apxs --with-pgsql
]]>
</programlisting>
</informalexample>
</para>
<para>
This will create a <filename>libphp4.so</filename> shared
library that is loaded into Apache using a LoadModule line in
Apache's &httpd.conf; file. The PostgreSQL
support is embedded into this <filename>libphp4.so</filename>
library.
</para>
<para>
<informalexample>
<programlisting role="shell">
<![CDATA[
./configure --with-apxs --with-pgsql=shared
]]>
</programlisting>
</informalexample>
</para>
<para>
This will create a <filename>libphp4.so</filename> shared
library for Apache, but it will also create a
<filename>pgsql.so</filename> shared library that is loaded into
PHP either by using the extension directive in
&php.ini; file or by loading it explicitly in
a script using the <function>dl</function> function.
</para>
<para>
<informalexample>
<programlisting role="shell">
<![CDATA[
./configure --with-apache=/path/to/apache_source --with-pgsql
]]>
</programlisting>
</informalexample>
</para>
<para>
This will create a <filename>libmodphp4.a</filename> library, a
<filename>mod_php4.c</filename> and some accompanying files and
copy this into the <literal>src/modules/php4</literal> directory
in the Apache source tree. Then you compile Apache using
<literal>--activate-module=src/modules/php4/libphp4.a</literal>
and the Apache build system will create
<filename>libphp4.a</filename> and link it statically into the
<filename>httpd</filename> binary. The PostgreSQL support is
included directly into this <filename>httpd</filename> binary,
so the final result here is a single <filename>httpd</filename>
binary that includes all of Apache and all of PHP.
</para>
<para>
<informalexample>
<programlisting role="shell">
<![CDATA[
./configure --with-apache=/path/to/apache_source --with-pgsql=shared
]]>
</programlisting>
</informalexample>
</para>
<para>
Same as before, except instead of including PostgreSQL support
directly into the final <filename>httpd</filename> you will get
a <filename>pgsql.so</filename> shared library that you can load
into PHP from either the &php.ini; file or
directly using <function>dl</function>.
</para>
<para>
When choosing to build PHP in different ways, you should consider
the advantages and drawbacks of each method. Building as a shared
object will mean that you can compile apache separately, and don't
have to recompile everything as you add to, or change, PHP.
Building PHP into apache (static method) means that PHP will
load and run faster. For more information, see the Apache
<ulink url="&url.apachedso;">webpage on DSO support</ulink>.
</para>
<note>
<para>
Apache's default &httpd.conf; currently ships with a section that looks
like this:
<informalexample>
<programlisting role="apache-conf">
<![CDATA[
User nobody
Group "#-1"
]]>
</programlisting>
</informalexample>
Unless you change that to "Group nogroup" or something like that ("Group daemon" is
also very common) PHP will not be able to open files.
</para>
</note>
<note>
<para>
Make sure you specify the installed version of apxs when using
<option role="configure">--with-apxs=/path/to/apxs</option>.
You must NOT use the apxs version that is in the apache sources but the one
that is actually installed on your system.
</para>
</note>
</sect2>
<sect2 id="install.apache.windows">
<title>Installing PHP on Windows with Apache 1.3.x</title>
<simpara>
There are two ways to set up PHP to work with Apache 1.3.x
on Windows. One is to use the CGI binary (php.exe),
the other is to use the Apache module DLL. In either case
you need to stop the Apache server, and edit your
&httpd.conf; to configure Apache to work with PHP.
</simpara>
<simpara>
It is worth noting here that now the SAPI module has been
made more stable under Windows, we recommend it's use above
the CGI binary, since it is more transparent and secure.
</simpara>
<simpara>
Although there can be a few variations of configuring PHP
under Apache, these are simple enough to be used by the
newcomer. Please consult the Apache Docs for further
configuration directives.
</simpara>
<para>
If you unziped the PHP package to <filename>c:\php\</filename> as described
in the <link linkend="install.windows.manual">Manual
Installation Steps</link> section, you need to insert
these lines to your Apache configuration file to set
up the CGI binary:
<itemizedlist>
<listitem>
<simpara>
<literal>
ScriptAlias /php/ "c:/php/"
</literal>
</simpara>
</listitem>
<listitem>
<simpara>
<literal>
AddType application/x-httpd-php .php .phtml
</literal>
</simpara>
</listitem>
<listitem>
<simpara>
<literal>
Action application/x-httpd-php "/php/php.exe"
</literal>
</simpara>
</listitem>
</itemizedlist>
Note that the second line in the list above can be found
in the actual versions of &httpd.conf;, but it is commented out. Remember
also to substitute the <filename>c:/php/</filename> for your actual path to
PHP.
</para>
<warning>
<para>
By using the CGI setup, your server is open
to several possible attacks. Please read
our <link linkend="security.cgi-bin">CGI security
section</link> to learn how to defend yourself from attacks.
</para>
</warning>
<para>
If you would like to use PHP as a module in Apache, be sure to copy
<filename>php4ts.dll</filename> to the <filename>windows/system</filename>
(for Windows 9x/Me), <filename>winnt/system32</filename> (for Windows
NT/2000) or <filename>windows/system32</filename> (for Windows XP)
directory, overwriting any older file. Then you should add the following
lines to your Apache &httpd.conf; file:
<itemizedlist>
<listitem>
<simpara>
Open &httpd.conf; with your favorite editor and locate the
<literal>LoadModule</literal> directive and add the following line
<emphasis>at the end</emphasis> of the list for PHP 4:
<literal>LoadModule php4_module "c:/php/sapi/php4apache.dll"</literal>
or the following for PHP 5:
<literal>LoadModule php5_module "c:/php/sapi/php5apache.dll"</literal>
</simpara>
</listitem>
<listitem>
<simpara>
You may find after using the Windows installer for Apache that you need
to define the <literal>AddModule</literal> directive for
<filename>mod_php4.c</filename>. This is especially important if the
<literal>ClearModuleList</literal> directive is defined, which you will
find by scrolling down a few lines. You will see a list of
<literal>AddModule</literal> entries, add the following line
<emphasis>at the end</emphasis> of the list:
<literal>AddModule mod_php4.c</literal> For PHP 5, instead use
<literal>AddModule mod_php5.c</literal>
</simpara>
</listitem>
<listitem>
<simpara>
Search for a phrase similar to
<literal># AddType allows you to tweak mime.types</literal>. You will
see some <literal>AddType</literal> entries, add the following line
<emphasis>at the end</emphasis> of the list:
<literal>AddType application/x-httpd-php .php</literal>.
You can choose any extension you want to parse through PHP here. .php
is simply the one we suggest. You can even include .html, and .php3
can be added for backwards compatibility.
</simpara>
</listitem>
</itemizedlist>
</para>
<simpara>
After changing the configuration file, remember to restart the server, for
example, <command>NET STOP APACHE</command> followed by
<command>NET START APACHE</command>, if you run Apache as a Windows
Service, or use your regular shortcuts.
</simpara>
<simpara>
There are two ways you can use the source code highlighting feature,
however their ability to work depends on your installation. If you have
configured Apache to use PHP as an SAPI module, then by adding the
following line to your &httpd.conf; (at the same place you inserted
<literal>AddType application/x-httpd-php .php</literal>, see above) you can
use this feature:
<literal>AddType application/x-httpd-php-source .phps</literal>.
</simpara>
<simpara>
If you chose to configure Apache to use PHP as a CGI binary, you
will need to use the <function>show_source</function> function. To
do this simply create a PHP script file and add this code:
<literal>&lt;?php show_source ("original_php_script.php"); ?&gt;</literal>.
Substitute <literal>original_php_script.php</literal> with
the name of the file you wish to show the source of.
</simpara>
<note>
<simpara>
On Win-Apache all backslashes in a path statement such
as "c:\directory\file.ext", must be converted to
forward slashes, as "c:/directory/file.ext".
</simpara>
</note>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,304 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.15 $ -->
<sect1 id="install.apache2">
<title>Servers-Apache 2.0</title>
<para>
This section contains notes and hints specific to Apache 2.0 installs
of <literal>PHP</literal>, both for
<link linkend="install.apache2.unix">Unix</link>
and <link linkend="install.apache2.windows">Windows</link> versions.
</para>
&warn.apache2.compat;
<para>
You are highly encouraged to take a look at the
<ulink url="&url.apache2.docs;">Apache Documentation</ulink> to get
a basic understanding of the Apache 2.0 Server.
</para>
<sect2 id="compat.apache2">
<title>PHP and Apache 2.0 compatibility notes</title>
<para>
The following versions of PHP are known to work with the most recent
version of Apache 2.0:
<itemizedlist spacing="compact">
<listitem>
<simpara>
PHP 4.3.0 or later available at
<ulink url="&url.php.downloads;">&url.php.downloads;</ulink>.
</simpara>
</listitem>
<listitem>
<simpara>
the latest stable development version.
Get the source code <ulink url="&url.php.snapshots;php4-latest.tar.gz">
&url.php.snapshots;php4-latest.tar.gz</ulink> or download binaries
for Windows <ulink url="&url.php.snapshots;win32/php4-win32-latest.zip">
&url.php.snapshots;win32/php4-win32-latest.zip</ulink>.
</simpara>
</listitem>
<listitem>
<simpara>
a prerelease version downloadable from
<ulink url="&url.php.prerelease;">&url.php.prerelease;</ulink>.
</simpara>
</listitem>
<listitem>
<simpara>
you have always the option to obtain <literal>PHP</literal> through
<ulink url="&url.php.anoncvs;">anonymous CVS</ulink>.
</simpara>
</listitem>
</itemizedlist>
These versions of <literal>PHP</literal> are compatible to Apache 2.0.40 and later.
</para>
<note>
<simpara>
Apache 2.0 <literal>SAPI</literal>-support started with PHP 4.2.0.
PHP 4.2.3 works with Apache 2.0.39, don't use any other version of Apache with
PHP 4.2.3. However, the recommended setup is to use PHP 4.3.0 or later with
the most recent version of Apache2.
</simpara>
<simpara>
All mentioned versions of <literal>PHP</literal> will work still with
Apache 1.3.x.
</simpara>
</note>
</sect2>
<sect2 id="install.apache2.unix">
<title>PHP and Apache 2 on Linux</title>
<para>
Download the most recent version of <ulink url= "&url.apache;">
Apache 2.0</ulink> and a fitting PHP version from the above mentioned places.
This quick guide covers only the basics to get started with Apache 2.0
and <literal>PHP</literal>. For more information read the
<ulink url="&url.apache2.docs;">Apache Documentation</ulink>.
The version numbers have been omitted here, to ensure the
instructions are not incorrect. You will need to replace the 'NN' here with the
correct values from your files.
</para>
<example>
<title>
Installation Instructions (Apache 2 Shared Module Version)
</title>
<screen>
<![CDATA[
1. gzip -d httpd-2_0_NN.tar.gz
2. tar xvf httpd-2_0_NN.tar
3. gunzip php-NN.tar.gz
4. tar -xvf php-NN.tar
5. cd httpd-2_0_NN
6. ./configure --enable-so
7. make
8. make install
Now you have Apache 2.0.NN available under /usr/local/apache2,
configured with loadable module support and the standard MPM prefork.
To test the installation use your normal procedure for starting
the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start
and stop the server to go on with the configuration for PHP:
/usr/local/apache2/bin/apachectl stop.
9. cd ../php-NN
10. Now, configure your PHP. This is where you customize your PHP
with various options, like which extensions will be enabled. Do a
./configure --help for a list of available options. In our example
we'll do a simple configure with Apache 2 and MySQL support. Your
path to apxs may differ, in fact, the binary may even be named apxs2 on
your system.
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
11. make
12. make install
If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.
Note that unless told otherwise, 'make install' will also install PEAR,
various PHP tools such as phpize, install the PHP CLI, and more.
13. Setup your php.ini
cp php.ini-dist /usr/local/lib/php.ini
You may edit your .ini file to set PHP options. If you prefer having
php.ini in another location, use --with-config-file-path=/some/path in
step 10.
If you instead choose php.ini-recommended, be certain to read the list
of changes within, as they affect how PHP behaves.
14. Edit your httpd.conf to load the PHP module. The path on the right hand
side of the LoadModule statement must point to the path of the PHP
module on your system. The make install from above may have already
added this for you, but be sure to check.
For PHP 4:
LoadModule php4_module libexec/libphp4.so
For PHP 5:
LoadModule php5_module libexec/libphp5.so
15. Tell Apache to parse certain extensions as PHP. For example,
let's have Apache parse the .php extension as PHP. You could
have any extension(s) parse as PHP by simply adding more, with
each separated by a space. We'll add .phtml to demonstrate.
AddType application/x-httpd-php .php .phtml
It's also common to setup the .phps extension to show highlighted PHP
source, this can be done with:
AddType application/x-httpd-php-source .phps
16. Use your normal procedure for starting the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start
]]>
</screen>
</example>
<para>
Following the steps above you will have a running Apache 2.0 with
support for <literal>PHP</literal> as <literal>SAPI</literal> module.
Of course there are many more configuration options available for both,
Apache and <literal>PHP</literal>. For more information use
<command>./configure --help</command> in the corresponding source
tree. In case you wish to build a multithreaded version of Apache 2.0
you must overwrite the standard MPM-Module <filename>prefork</filename>
either with <filename>worker</filename> or <filename>perchild</filename>.
To do so append to your configure line in step 6 above either the option
<option role="configure">--with-mpm=worker</option> or
<option role="configure">--with-mpm=perchild</option>. Take care about
the consequences and understand what you are doing. For more information
read the Apache documentation about the <ulink url="&url.apache2.mpm;">
MPM-Modules</ulink>.
</para>
<note>
<para>
To build a multithreaded version of Apache your system must support threads.
This also implies to build <literal>PHP</literal> with experimental
Zend Thread Safety (ZTS). Therefore not all extensions might be available.
The recommended setup is to build Apache with the standard
<filename>prefork</filename> MPM-Module.
</para>
</note>
</sect2>
<sect2 id="install.apache2.windows">
<title>PHP and Apache 2.0 on Windows</title>
<para>
Consider to read the <ulink url="&url.apache2.windows;">
Windows specific notes</ulink> for Apache 2.0.
</para>
<warning>
<para>
Apache 2.0 is designed to run on Windows NT 4.0, Windows 2000 or
Windows XP. At this time, support for Windows 9x is incomplete.
Apache 2.0 is not expected to work on those platforms at this time.
</para>
</warning>
<para>
Download the most recent version of <ulink url= "&url.apache;">
Apache 2.0</ulink> and a fitting PHP version from the above mentioned places.
Follow the <link linkend="install.windows.manual">Manual Installation Steps</link>
and come back to go on with the integration of <literal>PHP</literal>
and Apache.
</para>
<para>
There are two ways to set up <literal>PHP</literal> to work with
Apache 2.0 on Windows. One is to use the CGI binary the other is to
use the Apache module DLL. In either case you need to stop the Apache
server, and edit your &httpd.conf; to configure Apache
to work with <literal>PHP</literal>.
</para>
<para>
You need to insert these three lines to your Apache &httpd.conf;
configuration file to set up the <emphasis>CGI binary</emphasis>:
<example>
<title>PHP and Apache 2.0 as CGI</title>
<programlisting role="apache">
<![CDATA[
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
]]>
</programlisting>
</example>
</para>
<para>
If you would like to use <literal>PHP</literal> as a module in Apache 2.0,
be sure to move <filename>php4ts.dll</filename> for PHP 4, or
<filename>php5ts.dll</filename> for PHP 5, to
<filename>winnt/system32</filename> (for Windows NT/2000) or
<filename>windows/system32</filename> (for Windows XP),
overwriting any older file. You need to insert these two lines to your
Apache &httpd.conf; configuration file to set up the
<emphasis>PHP-Module</emphasis> for Apache 2.0:
<example>
<title>PHP and Apache 2.0 as Module</title>
<programlisting role="apache">
<![CDATA[
; For PHP 4 do something like this:
LoadModule php4_module "c:/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
; For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
]]>
</programlisting>
</example>
</para>
<note>
<simpara>
Remember to substitute the <filename>c:/php/</filename> for your actual
path to <literal>PHP</literal> in the above examples. Take care to use
either <filename>php4apache2.dll</filename> or
<filename>php5apache2.dll</filename> in your LoadModule directive and
<emphasis>not</emphasis><filename>php4apache.dll</filename> or
<filename>php5apache.dll</filename> as the latter ones are designed to
run with <link linkend="install.apache.windows">Apache 1.3.x</link>.
</simpara>
</note>
<warning>
<simpara>
Don't mix up your installation with dll files from
<emphasis>different PHP versions </emphasis>. You have the only choice
to use the dll's and extensions that ship with your downloaded PHP version.
</simpara>
</warning>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,72 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
<sect1 id="install.caudium">
<title>Servers-Caudium</title>
<para>
PHP 4 can be built as a Pike module for the
<ulink url="&url.caudium;">Caudium webserver</ulink>.
Note that this is not supported with PHP 3. Follow the simple
instructions below to install PHP 4 for Caudium.
</para>
<example id="install.caudium.instructions">
<title>Caudium Installation Instructions</title>
<screen>
<![CDATA[
1. Make sure you have Caudium installed prior to attempting to
install PHP 4. For PHP 4 to work correctly, you will need Pike
7.0.268 or newer. For the sake of this example we assume that
Caudium is installed in /opt/caudium/server/.
2. Change directory to php-x.y.z (where x.y.z is the version number).
3. ./configure --with-caudium=/opt/caudium/server
4. make
5. make install
6. Restart Caudium if it's currently running.
7. Log into the graphical configuration interface and go to the
virtual server where you want to add PHP 4 support.
8. Click Add Module and locate and then add the PHP 4 Script Support module.
9. If the documentation says that the 'PHP 4 interpreter isn't
available', make sure that you restarted the server. If you did
check /opt/caudium/logs/debug/default.1 for any errors related to
<filename>PHP4.so</filename>. Also make sure that
<filename>caudium/server/lib/[pike-version]/PHP4.so</filename>
is present.
10. Configure the PHP Script Support module if needed.
]]>
</screen>
</example>
<para>
You can of course compile your Caudium module with support for the
various extensions available in PHP. See the chapter on
<link linkend="configure">configure options</link> for more details.
</para>
<note>
<para>
When compiling PHP 4 with MySQL support you must make sure that
the normal MySQL client code is used. Otherwise there might be
conflicts if your Pike already has MySQL support. You do this by
specifying a MySQL install directory the
<option role="configure">--with-mysql</option> option.
</para>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,96 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.9 $ -->
<sect1 id="install.commandline">
<title>Servers-CGI/Commandline</title>
<para>
The default is to build PHP as a CGI program. This creates a
commandline interpreter, which can be used for CGI processing, or
for non-web-related PHP scripting. If you are running a web
server PHP has module support for, you should generally go for
that solution for performance reasons. However, the CGI version
enables Apache users to run different PHP-enabled pages under
different user-ids. Please make sure you read through the <link
linkend="security.index">Security chapter</link> if you are going to
run PHP as a CGI.
</para>
<para>
As of PHP 4.3.0, some important additions have happened to PHP. A new
SAPI named CLI also exists and it has the same name as the CGI binary.
What is installed at <literal>{PREFIX}/bin/php</literal> depends on your
configure line and this is described in detail in the manual section
named <link linkend="features.commandline">Using PHP from the command
line</link>. For further details please read that section of the manual.
</para>
<sect2 id="install.commandline.testing">
<title>Testing</title>
<simpara>
If you have built PHP as a CGI program, you may test your build
by typing <command>make test</command>. It is always a good idea
to test your build. This way you may catch a problem with PHP on
your platform early instead of having to struggle with it later.
</simpara>
</sect2>
<sect2 id="install.commandline.benchmarking">
<title>Benchmarking</title>
<simpara>
If you have built PHP 3 as a CGI program, you may benchmark your
build by typing <command>make bench</command>. Note that if
&safemode; is on by default, the benchmark may not be able to finish if
it takes longer then the 30 seconds allowed. This is because the
<function>set_time_limit</function> can not be used in
&safemode;. Use the <link
linkend="ini.max-execution-time">max_execution_time</link>
configuration setting to control this time for your own
scripts. <command>make bench</command> ignores the <link
linkend="configuration.file">configuration file</link>.
</simpara>
<note>
<simpara>
<command>make bench</command> is only available for PHP 3.
</simpara>
</note>
</sect2>
<sect2 id="install.commandline.using-variables">
<title>Using Variables</title>
<simpara>
Some <link linkend="reserved.variables.server">server supplied
environment variables</link> are not defined in the
current <ulink url="&url.cgispec;">CGI/1.1 specification</ulink>.
Only the following variables are defined there; everything else
should be treated as 'vendor extensions': <varname>AUTH_TYPE</varname>,
<varname>CONTENT_LENGTH</varname>, <varname>CONTENT_TYPE</varname>,
<varname>GATEWAY_INTERFACE</varname>, <varname>PATH_INFO</varname>,
<varname>PATH_TRANSLATED</varname>, <varname>QUERY_STRING</varname>,
<varname>REMOTE_ADDR</varname>, <varname>REMOTE_HOST</varname>,
<varname>REMOTE_IDENT</varname>, <varname>REMOTE_USER</varname>,
<varname>REQUEST_METHOD</varname>, <varname>SCRIPT_NAME</varname>,
<varname>SERVER_NAME</varname>, <varname>SERVER_PORT</varname>,
<varname>SERVER_PROTOCOL</varname>, and <varname>SERVER_SOFTWARE</varname>
</simpara>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.3 $ -->
<sect1 id="install.fhttpd">
<title>Servers-fhttpd</title>
<para>
To build PHP as an fhttpd module, answer "yes" to "Build as an
fhttpd module?" to the <literal>--with-fhttpd=[DIR]</literal>
<link linkend="configure">configure option</link> and specify the fhttpd
source base directory. The default directory is <filename
class="directory">/usr/local/src/fhttpd</filename>. If you are
running fhttpd, building PHP as a module will give better
performance, more control and remote execution capability.
</para>
<note>
<simpara>
Support for fhttpd is no longer available as of PHP 4.3.0.
</simpara>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<sect1 id="install.general">
<title>General Installation Considerations</title>
<para>
Before installing first, you need to know what do you
want to use PHP for. There are three main fields you
can use PHP, as described in the
<link linkend="intro-whatcando">What can PHP do?</link>
section:
<itemizedlist>
<listitem><simpara>Server-side scripting</simpara></listitem>
<listitem><simpara>Command line scripting</simpara></listitem>
<listitem><simpara>Client-side GUI applications</simpara></listitem>
</itemizedlist>
</para>
<para>
For the first and most common form, you need three things:
PHP itself, a web server and a web browser. You
probably already have a web browser, and depending on
your operating system setup, you may also have a web
server (e.g. Apache on Linux or IIS on Windows).
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.
</para>
<para>
While 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 processor. This means you set up
your server to use the command line executable of
PHP (<filename>php.exe</filename> on Windows) to
process all PHP file requests on the server.
</para>
<para>
If you are also interested to use PHP for command line
scripting (e.g. write scripts autogenerating some images
for you offline, or processing text files depending
on some arguments you pass to them), you always need
the command line executable. For more information, read
the section about <link linkend="features.commandline">writing
command line PHP applications</link>. In this case,
you need no server and no browser.
</para>
<para>
With PHP you can also write client side GUI applications
using the PHP-GTK extension. This is a completely
different approach than writing web pages, as you
do not output any HTML, but manage windows and objects
within them. For more information about PHP-GTK, please
<ulink url="&url.php.gtk;">visit the site dedicated to
this extension</ulink>. PHP-GTK is not included in the
official PHP distribution.
</para>
<para>
From now on, this section deals with setting up PHP
for web servers on Unix and Windows with server module
interfaces and CGI executables.
</para>
<para>
Downloading PHP, the source code, and binary
distributions for Windows can be found at
<ulink url="&url.php.downloads;">&url.php.downloads;</ulink>.
We recommend you to choose a
<ulink url="&url.mirrors;">mirror</ulink> nearest
to you for downloading the distributions.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,141 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<sect1 id="install.hpux">
<title>Unix/HP-UX installs</title>
<para>
This section contains notes and hints specific to installing PHP
on HP-UX systems. (Contributed by paul_mckay at clearwater-it dot co dot
uk).
</para>
<note>
<simpara>
These tips were written for PHP 4.0.4 and Apache 1.3.9.
</simpara>
</note>
<para>
<orderedlist>
<listitem>
<para>
You need gzip, download a binary distribution from
<filename>http://hpux.connect.org.uk/ftp/hpux/Gnu/gzip-1.2.4a/gzip-1.2.4a-sd-10.20.depot.Z</filename>
uncompress the file and install using swinstall.
</para>
</listitem>
<listitem>
<para>
You need gcc, download a binary distribution from
<filename>http://gatekeep.cs.utah.edu/ftp/hpux/Gnu/gcc-2.95.2/gcc-2.95.2-sd-10.20.depot.gz</filename>.
uncompress this file and install gcc using swinstall.
</para>
</listitem>
<listitem>
<para>
You need the GNU binutils, you can download a binary distribution from
<filename>http://hpux.connect.org.uk/ftp/hpux/Gnu/binutils-2.9.1/binutils-2.9.1-sd-10.20.depot.gz</filename>.
uncompress this file and install binutils using swinstall.
</para>
</listitem>
<listitem>
<para>
You now need bison, you can download a binary distribution from
<filename>http://hpux.connect.org.uk/ftp/hpux/Gnu/bison-1.28/bison-1.28-sd-10.20.depot.gz</filename>,
install as above.
</para>
</listitem>
<listitem>
<para>
You now need flex, you need to download the source from one of the
http://www.gnu.org mirrors. It is in the non-gnu directory of the ftp
site. Download the file, <command>gunzip</command>, then
<command>tar -xvf</command> it. Go into the newly created flex directory
and run <command>./configure</command>, followed by
<command>make</command>, and then <command>make install</command>.
</para>
<para>
If you have errors here, it's probably because gcc etc. are not in your
PATH so add them to your PATH.
</para>
</listitem>
<listitem>
<para>
Download the PHP and apache sources.
</para>
</listitem>
<listitem>
<para>
<command>gunzip</command> and <command>tar -xvf</command> them. We
need to hack a couple of files so that they can compile OK.
</para>
</listitem>
<listitem>
<para>
Firstly the configure file needs to be hacked because it seems to lose
track of the fact that you are a hpux machine, there will be a better
way of doing this but a cheap and cheerful hack is to put
<literal>lt_target=hpux10.20</literal> on line 47286 of the configure
script.
</para>
</listitem>
<listitem>
<para>
Next, the Apache GuessOS file needs to be hacked. Under
<filename>apache_1.3.9/src/helpers</filename> change line 89 from <literal>echo
"hp${HPUXMACH}-hpux${HPUXVER}"; exit 0</literal> to: <literal>echo
"hp${HPUXMACH}-hp-hpux${HPUXVER}"; exit 0</literal>
</para>
</listitem>
<listitem>
<para>
You cannot install PHP as a shared object under HP-UX so you must
compile it as a static, just follow the instructions at the Apache
page.
</para>
</listitem>
<listitem>
<para>
PHP and Apache should have compiled OK, but Apache won't start. you
need to create a new user for Apache, e.g. www, or apache. You then
change lines 252 and 253 of the <filename>conf/httpd.conf</filename> in
Apache so that instead of
</para>
<screen>
User nobody
Group nogroup
</screen>
<para>
you have something like
</para>
<screen>
User www
Group sys
</screen>
<para>
This is because you can't run Apache as nobody under hp-ux. Apache and
PHP should then work.
</para>
</listitem>
</orderedlist>
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,362 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<sect1 id="install.iis">
<title>Servers-IIS/PWS</title>
<para>
This section contains notes and hints specific to IIS (Microsoft
Internet Information Server). Installing PHP for
<link linkend="install.iis.iis3">PWS/IIS 3</link>,
<link linkend="install.iis.pws4">PWS 4 or newer</link> and
<link linkend="install.iis.iis4">IIS 4 or newer</link> versions.
</para>
<note>
<title>Important for CGI users</title>
<para>
Read the <link linkend="faq.installation.forceredirect">faq
on cgi.force_redirect</link> for important details. This
directive needs to be set to <literal>0</literal>.
</para>
</note>
<sect2 id="install.iis.iis3">
<title>Windows and PWS/IIS 3</title>
<simpara>
The recommended method for configuring these servers is to use
the REG file included with the distribution
(pws-php4cgi.reg). You may want to edit this file and make sure
the extensions and PHP install directories match your
configuration. Or you can follow the steps below to do it
manually.
</simpara>
<warning>
<para>
These steps involve working directly with the Windows
registry. One error here can leave your system in an unstable
state. We highly recommend that you back up your registry
first. The PHP Development team will not be held responsible if
you damage your registry.
</para>
</warning>
<para>
<itemizedlist>
<listitem>
<simpara>
Run Regedit.
</simpara>
</listitem>
<listitem>
<simpara>
Navigate to: <literal>HKEY_LOCAL_MACHINE /System
/CurrentControlSet /Services /W3Svc /Parameters
/ScriptMap</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
On the edit menu select: <literal>New->String Value</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Type in the extension you wish to use for your php
scripts. For example <literal>.php</literal>
</simpara>
</listitem>
<listitem>
<simpara>
Double click on the new string value and enter the path to
<literal>php.exe</literal> in the value data field. ex:
<literal>c:\php\php.exe</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Repeat these steps for each extension you wish to associate
with PHP scripts.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
The following steps do not affect the web server installation
and only apply if you want your PHP scripts to be executed when
they are run from the command line (ex. run
<filename>c:\myscripts\test.php</filename>) or by double clicking
on them in a directory viewer window. You may wish to skip these
steps as you might prefer the PHP files to load into a text
editor when you double click on them.
</para>
<para>
<itemizedlist>
<listitem>
<simpara>
Navigate to: <literal>HKEY_CLASSES_ROOT</literal>
</simpara>
</listitem>
<listitem>
<simpara>
On the edit menu select: <literal>New->Key</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Name the key to the extension you setup in the previous
section. ex: <literal>.php</literal>
</simpara>
</listitem>
<listitem>
<simpara>
Highlight the new key and in the right side pane, double click
the "default value" and enter <literal>phpfile</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Repeat the last step for each extension you set up in the
previous section.
</simpara>
</listitem>
<listitem>
<simpara>
Now create another <literal>New->Key</literal> under
<literal>HKEY_CLASSES_ROOT</literal> and name it
<literal>phpfile</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Highlight the new key <literal>phpfile</literal> and in the
right side pane, double click the "default value" and enter
<literal>PHP Script</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Right click on the <literal>phpfile</literal> key and select
<literal>New->Key</literal>, name it <literal>Shell</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Right click on the <literal>Shell</literal> key and select
<literal>New->Key</literal>, name it <literal>open</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Right click on the <literal>open</literal> key and select
<literal>New->Key</literal>, name it
<literal>command</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Highlight the new key <literal>command</literal> and in the
right side pane, double click the "default value" and enter
the path to <literal>php.exe</literal>. ex:
<literal>c:\php\php.exe -q %1</literal>. (don't forget the
<literal>%1</literal>).
</simpara>
</listitem>
<listitem>
<simpara>
Exit Regedit.
</simpara>
</listitem>
<listitem>
<simpara>
If using PWS on Windows, reboot to reload the registry.
</simpara>
</listitem>
</itemizedlist>
</para>
<simpara>
PWS and IIS 3 users now have a fully operational system. IIS 3
users can use a nifty <ulink url="&url.iiscfg;">tool</ulink>
from Steven Genusa to configure their script maps.
</simpara>
</sect2>
<sect2 id="install.iis.pws4">
<title>Windows and PWS 4 or newer</title>
<simpara>
When installing PHP on Windows with PWS 4 or newer version,
you have two options. One to set up the PHP CGI binary,
the other is to use the ISAPI module DLL.
</simpara>
<para>
If you choose the CGI binary, do the following:
<itemizedlist>
<listitem>
<simpara>
Edit the enclosed <filename>pws-php4cgi.reg</filename>
file (look into the SAPI dir) to reflect the location of
your <filename>php.exe</filename>. Backslashes should be
escaped, for example:
<literal>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\php.exe"</literal>
Now merge this registery file into your system; you may do
this by double-clicking it.
</simpara>
</listitem>
<listitem>
<simpara>
In the PWS Manager, right click on a given directory you want
to add PHP support to, and select Properties. Check the 'Execute'
checkbox, and confirm.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
If you choose the ISAPI module, do the following:
<itemizedlist>
<listitem>
<simpara>
Edit the enclosed <filename>pws-php4isapi.reg</filename>
file (look into the SAPI dir) to reflect the location of
your <filename>php4isapi.dll</filename>. Backslashes should
be escaped, for example:
<literal>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\sapi\\php4isapi.dll"</literal>
Now merge this registery file into your system; you may do
this by double-clicking it.
</simpara>
</listitem>
<listitem>
<simpara>
In the PWS Manager, right click on a given directory you want to
add PHP support to, and select Properties. Check the 'Execute'
checkbox, and confirm.
</simpara>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="install.iis.iis4">
<title>Windows NT/2000/XP and IIS 4 or newer</title>
<simpara>
To install PHP on an NT/2000/XP Server running IIS 4 or newer,
follow these instructions. You have two options to set up
PHP, using the CGI binary (php.exe) or with the ISAPI module.
</simpara>
<simpara>
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=&gt;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'.
</simpara>
<para>
If you want to use the CGI binary, do the following:
<itemizedlist>
<listitem>
<simpara>
Under 'Home Directory', 'Virtual Directory', or
'Directory', click on the 'Configuration' button,
and then enter the App Mappings tab.
</simpara>
</listitem>
<listitem>
<simpara>
Click Add, and in the Executable box, type:
<literal>c:\php\php.exe</literal> (assuming
that you have unziped PHP in c:\php\).
</simpara>
</listitem>
<listitem>
<simpara>
In the Extension box, type the file name extension you want
associated with PHP scripts. Leave 'Method exclusions'
blank, and check the Script engine checkbox. You may also
like to check the 'check that file exists' box - for a small
performance penalty, IIS (or PWS) will check that the script
file exists and sort out authentication before firing up php.
This means that you will get sensible 404 style error messages
instead of cgi errors complaining that PHP did not output any data.
</simpara>
<simpara>
You must start over from the previous step for each
extension you want associated with PHP scripts.
<literal>.php</literal> and <literal>.phtml</literal>
are common, although <literal>.php3</literal> may be
required for legacy applications.
</simpara>
</listitem>
<listitem>
<simpara>
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
<literal>php.exe</literal>.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
To use the ISAPI module, do the following:
<itemizedlist>
<listitem>
<simpara>
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 php4isapi.dll.
</simpara>
</listitem>
<listitem>
<simpara>
Under 'Home Directory', click on the 'Configuration' button.
Add a new entry to the Application Mappings. Use the path
to the php4isapi.dll as the Executable, supply
<literal>.php</literal> as the extension, leave Method
exclusions blank, and check the Script engine checkbox.
</simpara>
</listitem>
<listitem>
<simpara>
Stop IIS completely (NET STOP iisadmin)
</simpara>
</listitem>
<listitem>
<simpara>
Start IIS again (NET START w3svc)
</simpara>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,515 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.17 $ -->
<sect1 id="install.netscape-enterprise">
<title>Servers-Netscape, iPlanet and SunONE</title>
<para>
This section contains notes and hints specific to Netscape, iPlanet and SunONE webserver
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 NES/iPlanet/SunONE Webserver on Sun Solaris</title>
<para>
To build PHP with NES/iPlanet/SunONE webservers, enter the proper install
directory for the <literal>--with-nsapi=[DIR]</literal> option. The
default directory is usually
<filename class="directory">/opt/netscape/suitespot/</filename>.
Please also read <filename>/php-xxx-version/sapi/nsapi/nsapi-readme.txt</filename>.
</para>
<para>
<orderedlist>
<listitem>
<para>
Install the following packages from <ulink url="&url.sun.freeware;">
&url.sun.freeware;</ulink> or another download site:
<simplelist>
<member><filename>autoconf-2.13</filename></member>
<member><filename>automake-1.4</filename></member>
<member><filename>bison-1_25-sol26-sparc-local</filename></member>
<member><filename>flex-2_5_4a-sol26-sparc-local</filename></member>
<member><filename>gcc-2_95_2-sol26-sparc-local</filename></member>
<member><filename>gzip-1.2.4-sol26-sparc-local</filename></member>
<member><filename>m4-1_4-sol26-sparc-local</filename></member>
<member><filename>make-3_76_1-sol26-sparc-local</filename></member>
<member>
<filename>mysql-3.23.24-beta</filename> (if you want mysql support)
</member>
<member><filename>perl-5_005_03-sol26-sparc-local</filename></member>
<member><filename>tar-1.13</filename> (GNU tar)</member>
</simplelist>
</para>
</listitem>
<listitem>
<simpara>
Make sure your path includes the proper directories
<literal>PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin</literal>
and make it available to your system <userinput>export PATH</userinput>.
</simpara>
</listitem>
<listitem>
<simpara>
<userinput>gunzip php-x.x.x.tar.gz</userinput> (if you have a .gz dist,
otherwise go to 4).
</simpara>
</listitem>
<listitem>
<simpara>
<userinput>tar xvf php-x.x.x.tar</userinput>
</simpara>
</listitem>
<listitem>
<simpara>
Change to your extracted PHP directory:
<userinput>cd ../php-x.x.x </userinput>
</simpara>
</listitem>
<listitem>
<para>
For the following step, make sure
<filename class="directory">/opt/netscape/suitespot/</filename> is
where your netscape server is installed. Otherwise, change to the
correct path and run:
<programlisting role="shell">
<![CDATA[
./configure --with-mysql=/usr/local/mysql \
--with-nsapi=/opt/netscape/suitespot/ \
--enable-libgcc
]]>
</programlisting>
</para>
</listitem>
<listitem>
<simpara>
Run <command>make</command> followed by <command>make install</command>.
</simpara>
</listitem>
</orderedlist>
</para>
<para>
After performing the base install and reading the appropriate readme file,
you may need to perform some additional configuration steps.
</para>
<formalpara>
<title>Configuration Instructions for NES/iPlanet/SunONE</title>
<para>
Firstly you may need to add some paths to the <varname>LD_LIBRARY_PATH</varname> environment
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
located in: <filename
class="directory">/path/to/server/https-servername/config/</filename>.
<orderedlist>
<listitem>
<para>
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
]]>
</screen>
</para>
</listitem>
<listitem>
<para>
Edit <filename>magnus.conf</filename> (for servers &gt;= 6) or
<filename>obj.conf</filename> (for servers &lt; 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" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
]]>
</programlisting>
(PHP &gt;= 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>
Configure the default object in <filename>obj.conf</filename>
(for virtual server classes [SunONE 6.0+] in their <filename>vserver.obj.conf</filename>):
<programlisting>
<![CDATA[
<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>
]]>
</programlisting>
(PHP &gt;= 4.3.3) As additional parameters you can add some special &php.ini;-values, for example you
can set a <literal>docroot=&quot;/path/to/docroot&quot;</literal> specific to the context <literal>php4_execute</literal>
is called. For boolean ini-keys please use 0/1 as value, not <literal>&quot;On&quot;,&quot;Off&quot;,...</literal>
(this will not work correctly), e.g. <literal>zlib.output_compression=1</literal> instead of
<literal>zlib.output_compression=&quot;On&quot;</literal>
</para>
</listitem>
<listitem>
<para>
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">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
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>
<para>
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:
<programlisting>
<![CDATA[
<Object name="default">
AuthTrans fn=php4_auth_trans
.
.
.
</Object>
]]>
</programlisting>
</para>
</listitem>
<listitem>
<para>
To use PHP Authentication on a single directory, add the following:
<programlisting>
<![CDATA[
<Object ppath="d:\path\to\authenticated\dir\*">
AuthTrans fn=php4_auth_trans
</Object>
]]>
</programlisting>
</para>
</listitem>
</orderedlist>
</para>
</formalpara>
<note>
<para>
The stacksize that PHP uses depends on the configuration of the webserver. If you get
crashes with very large PHP scripts, it is recommended to raise it with the Admin Server
(in the section &quot;MAGNUS EDITOR&quot;).
</para>
</note>
</sect2>
<sect2 id="install.netscape.windows">
<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:
</para>
<itemizedlist>
<listitem>
<simpara>
Copy <filename>php4ts.dll</filename> to your systemroot
(the directory where you installed Windows)
</simpara>
</listitem>
<listitem>
<para>
Make a file association from the command line.
Type the following two lines:
<programlisting role="shell">
<![CDATA[
assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*
]]>
</programlisting>
</para>
</listitem>
<listitem>
<simpara>
In the Netscape Enterprise Administration Server create
a dummy shellcgi directory and remove it just after (this
step creates 5 important lines in obj.conf and allow the
web server to handle shellcgi scripts).
</simpara>
</listitem>
<listitem>
<simpara>
In the Netscape Enterprise Administration Server create
a new mime type (Category: type,
Content-Type: magnus-internal/shellcgi, File Suffix:php).
</simpara>
</listitem>
<listitem>
<simpara>
Do it for each web server instance you want PHP to run
</simpara>
</listitem>
</itemizedlist>
<para>
More details about setting up
PHP as a CGI executable can be found here:
<ulink url="&url.netscape.cgi;">&url.netscape.cgi;</ulink>
</para>
<para>
To Install PHP as NSAPI (for Netscape Enterprise Server,
iPlanet, SunONE, perhaps Fastrack), do the following:
</para>
<itemizedlist>
<listitem>
<simpara>
Copy <filename>php4ts.dll</filename> to your systemroot
(the directory where you installed Windows)
</simpara>
</listitem>
<listitem>
<para>
Make a file association from the command line.
Type the following two lines:
<programlisting role="shell">
<![CDATA[
assoc .php=PHPScript
ftype PHPScript=c:\php\php.exe %1 %*
]]>
</programlisting>
</para>
</listitem>
<listitem>
<simpara>
In the Netscape Enterprise Administration Server create
a new mime type (Category: type,
Content-Type: magnus-internal/x-httpd-php, File Suffix: php).
</simpara>
</listitem>
<listitem>
<para>
Edit <filename>magnus.conf</filename> (for servers &gt;= 6) or
<filename>obj.conf</filename> (for servers &lt; 6) and add the following:
You should
place 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" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
]]>
</programlisting>
(PHP &gt;= 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>
Configure the default object in <filename>obj.conf</filename>
(for virtual server classes [SunONE 6.0+] in their <filename>vserver.obj.conf</filename>):
In the <literal>&lt;Object name="default"&gt;</literal>
section, place this line necessarily after all 'ObjectType'
and before all 'AddLog' lines:
<programlisting>
<![CDATA[
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
]]>
</programlisting>
(PHP &gt;= 4.3.3) As additional parameters you can add some special &php.ini;-values, for example you
can set a <literal>docroot=&quot;/path/to/docroot&quot;</literal> specific to the context <literal>php4_execute</literal>
is called. For boolean ini-keys please use 0/1 as value, not <literal>&quot;On&quot;,&quot;Off&quot;,...</literal>
(this will not work correctly), e.g. <literal>zlib.output_compression=1</literal> instead of
<literal>zlib.output_compression=&quot;On&quot;</literal>
</para>
</listitem>
<listitem>
<para>
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">
ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
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>
<simpara>
Restart your web service and apply changes
</simpara>
</listitem>
<listitem>
<simpara>
Do it for each web server instance you want PHP to run
</simpara>
</listitem>
</itemizedlist>
<note>
<para>
More details about setting up
PHP as an NSAPI filter can be found here:
<ulink url="&url.netscape.nsapi;">&url.netscape.nsapi;</ulink>
</para>
</note>
<note>
<para>
The stacksize that PHP uses depends on the configuration of the webserver. If you get
crashes with very large PHP scripts, it is recommended to raise it with the Admin Server
(in the section &quot;MAGNUS EDITOR&quot;).
</para>
</note>
</sect2>
<sect2 id="install.netscape.phpini">
<title>CGI environment and recommended modifications in php.ini</title>
<para>
Important when writing PHP scripts is the fact that iPlanet/SunONE/Netscape is a multithreaded web server.
Because of that all requests are running in the same process space (the space of the webserver itsself) and
this space has only one environment. If you want to get CGI variables like <literal>PATH_INFO</literal>,
<literal>HTTP_HOST</literal> etc. it is not the correct way to try this in the old PHP 3.x way with
<function>getenv</function> or a similar way (register globals to environment, <literal>$_ENV</literal>).
You would only get the environment of the running webserver without any valid CGI variables!
</para>
<note>
<para>
Why are there (invalid) CGI variables in the environment?
</para>
<para>
Answer: This is because you started the webserver process from the admin server which runs the startup
script of the webserver, you wanted to start, as a CGI script
(a CGI script inside of the admin server!). This is why the environment of the started webserver
has some CGI environment variables in it. You can test this by
starting the webserver not from the administration server. Use the Unix command line as root user and
start it manually - you will see there are no CGI-like environment variables.
</para>
</note>
<para>
Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal
<literal>$_SERVER</literal>. If you have older scripts which use <literal>$HTTP_HOST</literal>,...,
you should turn on <literal>register_globals</literal> in &php.ini; and change the variable order
to (important: remove <literal>&quot;E&quot;</literal> from it, because you do not need the environment here):
<programlisting>
<![CDATA[
variables_order = "GPCS"
register_globals = On
]]>
</programlisting>
</para>
</sect2>
<sect2 id="install.netscape.specialpages">
<title>Special use for error pages or self-made directory listings (PHP &gt;= 4.3.3)</title>
<para>
You can use PHP to generate the error pages for <literal>"404 Not Found"</literal>
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> is 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 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
<literal>type=&quot;magnus-internal/directory&quot;</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 &gt;= 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.1. 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
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<sect1 id="install.linux">
<title>Unix/Linux installs</title>
<para>
This section contains notes and hints specific to installing
PHP on Linux distributions.
</para>
<sect2 id="install.linux.packages">
<title>Using Packages</title>
<simpara>
Many Linux distributions have some sort of package installation
system, such as RPM. This can assist in setting up a standard
configuration, but if you need to have a different set of features
(such as a secure server, or a different database driver), you may
need to build PHP and/or your webserver. If you are unfamiliar
with building and compiling your own software, it is worth
checking to see whether somebody has already built a packaged
version of PHP with the features you need.
</simpara>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,239 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<sect1 id="install.macosx">
<title>Unix/Mac OS X installs</title>
<para>
This section contains notes and hints specific to installing
PHP on Mac OS X Server.
</para>
<sect2 id="install.macosx.packages">
<title>Using Packages</title>
<simpara>
There are a few pre-packaged and pre-compiled versions of PHP for
Mac OS X. This can help in setting up a standard
configuration, but if you need to have a different set of features
(such as a secure server, or a different database driver), you may
need to build PHP and/or your web server yourself. If you are unfamiliar
with building and compiling your own software, it's worth
checking whether somebody has already built a packaged
version of PHP with the features you need.
</simpara>
</sect2>
<sect2 id="install.macosx.compile">
<title>Compiling for OS X server</title>
<simpara>
There are two slightly different versions of Mac OS X, client and
server. The following is for OS X Server.
</simpara>
<formalpara id="install.macosx.compile.example">
<title>Mac OS X server install</title>
<para>
<orderedlist>
<listitem>
<simpara>Get the latest distributions of Apache and PHP.</simpara>
</listitem>
<listitem>
<para>
Untar them, and run the <command>configure</command> program on Apache
like so.
<programlisting role="shell">
<![CDATA[
./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache
]]>
</programlisting>
</para>
</listitem>
<listitem>
<para>
If you want the compiler to do some optimization., you may also want to
add this line:
<programlisting role="shell">
<![CDATA[
setenv OPTIM=-O2
]]>
</programlisting>
</para>
</listitem>
<listitem>
<para>
Next, go to the PHP 4 source directory and configure it.
<programlisting role="shell">
<![CDATA[
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/share/man \
--with-xml \
--with-apache=/src/apache_1.3.12
]]>
</programlisting>
If you have any other additions (MySQL, GD, etc.), be sure to add them
here. For the <option role="configure">--with-apache</option> string, put
in the path to your apache source directory, for example
<filename class="directory">/src/apache_1.3.12</filename>.
</para>
</listitem>
<listitem>
<simpara>
Type <command>make</command> and <command>make install</command>. This
will add a directory to your Apache source directory under
<filename class="directory">src/modules/php4</filename>.
</simpara>
</listitem>
<listitem>
<para>
Now, reconfigure Apache to build in PHP 4.
<programlisting role="shell">
<![CDATA[
./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache \
--activate-module=src/modules/php4/libphp4.a
]]>
</programlisting>
You may get a message telling you that libmodphp4.a is out of date. If
so, go to the <filename class="directory">src/modules/php4</filename>
directory inside your apache source directory and run this command:
<command>ranlib libmodphp4.a</command>. Then go back to the root of the
apache source directory and run the above <command>configure</command>
command again. That'll bring the link table up to date. Run
<command>make</command> and <command>make install</command> again.
</para>
</listitem>
<listitem>
<simpara>
Copy and rename the <filename>php.ini-dist</filename> file to your
<filename class="directory">bin</filename> directory from your PHP 4
source directory:
<userinput>cp php.ini-dist /usr/local/bin/php.ini</userinput>
or (if your don't have a local directory)
<userinput>cp php.ini-dist /usr/bin/php.ini</userinput>.
</simpara>
</listitem>
</orderedlist>
</para>
</formalpara>
<!--
<simpara>
TODO: Someone with Mac OS X skills needs to improve this DOC
Also, these links are 404 and outdated anyways and
stepwise doesn't support PHP anymore.
See also bug #14732
Other examples for
<ulink url="&url.stepwise.macosx-client;">Mac OS X client</ulink>
and
<ulink url="&url.stepwise.macosx-client;">Mac OS X server</ulink>
are available at <ulink url="&url.stepwise;">Stepwise</ulink>.
</simpara>
-->
</sect2>
<sect2 id="install.macosx.client">
<title>Compiling for MacOS X client</title>
<simpara>
Those tips are graciously provided by <ulink url="&url.macosx;">Marc Liyanage</ulink>.
</simpara>
<simpara>
The PHP module for the Apache web server included in Mac OS X.
This version includes support for the MySQL and PostgreSQL databases.
</simpara>
<simpara>
NOTE: Be careful when you do this, you could screw up your Apache web server!
</simpara>
<para>
Do this to install:
<orderedlist>
<listitem>
<simpara>
Open a terminal window.
</simpara>
</listitem>
<listitem>
<simpara>
Type
<userinput>wget http://www.diax.ch/users/liyanage/software/macosx/libphp4.so.gz</userinput>,
wait for the download to finish.
</simpara>
</listitem>
<listitem>
<simpara>
Type <userinput>gunzip libphp4.so.gz</userinput>.
</simpara>
</listitem>
<listitem>
<simpara>
Type <userinput>sudo apxs -i -a -n php4 libphp4.so</userinput>
</simpara>
</listitem>
<listitem>
<para>
Now type <userinput>sudo open -a TextEdit /etc/httpd/httpd.conf</userinput>.
TextEdit will open with the web server configuration file. Locate these
two lines towards the end of the file: (Use the Find command)
<programlisting role="apache">
<![CDATA[
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
]]>
</programlisting>
Remove the two hash marks (<literal>#</literal>), then save the file and
quit TextEdit.
</para>
</listitem>
<listitem>
<simpara>
Finally, type <userinput>sudo apachectl graceful</userinput> to restart
the web server.
</simpara>
</listitem>
</orderedlist>
</para>
<para>
PHP should now be up and running. You can test it by dropping a file into
your <filename class="directory">Sites</filename> folder which is called
<filename>test.php</filename>. Into that file, write this line:
<literal>&lt;?php phpinfo() ?&gt;</literal>.
</para>
<para>
Now open up <literal>127.0.0.1/~your_username/test.php</literal> in your web
browser. You should see a status table with information about the PHP module.
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,105 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<sect1 id="install.omnihttpd">
<title>Servers-OmniHTTPd Server</title>
<para>
This section contains notes and hints specific to
<ulink url="&url.omnihttpd;">OmniHTTPd</ulink>.
</para>
<sect2 id="install.omnihttpd.windows">
<title>OmniHTTPd 2.0b1 and up for Windows</title>
<simpara>
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.
</simpara>
<note>
<title>Important for CGI users</title>
<para>
Read the <link linkend="faq.installation.forceredirect">faq
on cgi.force_redirect</link> for important details. This
directive needs to be set to <literal>0</literal>.
</para>
</note>
<para>
<orderedlist>
<listitem>
<para>
Install OmniHTTPd server.
</para>
</listitem>
<listitem>
<para>
Right click on the blue OmniHTTPd icon in the system
tray and select <literal>Properties</literal>
</para>
</listitem>
<listitem>
<para>
Click on <literal>Web Server Global Settings</literal>
</para>
</listitem>
<listitem>
<para>
On the 'External' tab, enter: <literal>virtual = .php
| actual = c:\path-to-php-dir\php.exe</literal>, and use the Add
button.
</para>
</listitem>
<listitem>
<para>
On the <literal>Mime</literal> tab, enter:
<literal>virtual = wwwserver/stdcgi | actual = .php</literal>,
and use the Add button.
</para>
</listitem>
<listitem>
<para>
Click <literal>OK</literal>
</para>
</listitem>
</orderedlist>
</para>
<simpara>
Repeat steps 2 - 6 for each extension you want to associate with PHP.
</simpara>
<note>
<para>
Some OmniHTTPd packages come with built in PHP support.
You can choose at setup time to do a custom setup, and
uncheck the PHP component. We recommend you to use the latest
PHP binaries. Some OmniHTTPd servers come with PHP 4 beta
distributions, so you should choose not to set up
the built in support, but install your own. If the server
is already on your machine, use the Replace button in Step
4 and 5 to set the new, correct information.
</para>
</note>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,121 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
<sect1 id="install.openbsd">
<title>Unix/OpenBSD installs</title>
<para>
This section contains notes and hints specific to installing
PHP on <ulink url="&url.openbsd;">OpenBSD 3.4</ulink>.
</para>
<sect2 id="install.openbsd.packages">
<title>Using Binary Packages</title>
<simpara>
Using binary packages to install PHP on OpenBSD is the recommended
and simplest method. The core package has been separated from the various
modules, and each can be installed and removed independently from the others.
The files you need can be found on your OpenBSD CD or on the FTP site.
</simpara>
<simpara>
The main package you need to install is <filename>php4-core-4.3.3.tgz</filename>,
which contains the basic engine (plus gettext and iconv). Next, take a look
at the module packages, such as <filename>php4-mysql-4.3.3.tgz</filename>
or <filename>php4-imap-4.3.3.tgz</filename>. You need to use the <command>phpxs</command>
command to activate and deactivate these modules in your &php.ini;.
</simpara>
<example id="install.openbsd.ports.example">
<title>OpenBSD Package Install Example</title>
<programlisting role="shell">
<![CDATA[
# pkg_add php4-core-4.3.3.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
(add in mysql)
# pkg_add php4-mysql-4.3.3.tgz
# /usr/local/sbin/phpxs -a mysql
(add in imap)
# pkg_add php4-imap-4.3.3.tgz
# /usr/local/sbin/phpxs -a imap
(remove mysql as a test)
# pkg_delete php4-mysql-4.3.3
# /usr/local/sbin/phpxs -r mysql
(install the PEAR libraries)
# pkg_add php4-pear-4.3.3.tgz
]]>
</programlisting>
</example>
<simpara>
Read the <ulink url="&url.openbsd.packages;">packages(7)</ulink>
manual page for more information about binary packages on OpenBSD.
</simpara>
</sect2>
<sect2 id="install.openbsd.ports">
<title>Using Ports</title>
<simpara>
You can also compile up PHP from source using the <ulink url="&url.openbsd.ports;">ports tree</ulink>.
However, this is only recommended for users familiar with OpenBSD. The PHP 4 port
is split into two sub-directories: core and extensions. The
extensions directory generates sub-packages for all of the supported
PHP modules. If you find you do not want to create some of these modules,
use the <command>no_*</command> FLAVOR. For example, to skip building
the imap module, set the FLAVOR to <command>no_imap</command>.
</simpara>
</sect2>
<sect2 id="install.openbsd.faq">
<title>Common Problems</title>
<itemizedlist>
<listitem>
<simpara>The default install of Apache runs inside a
<ulink url="&url.openbsd.chroot;">chroot(2) jail</ulink>, which will restrict PHP scripts to
accessing files under <filename>/var/www</filename>. You will therefore need to create a
<filename>/var/www/tmp</filename> directory for PHP session files to be stored, or use an
alternative session backend. In addition, database sockets need to be placed inside the
jail or listen on the <filename>localhost</filename> interface. If you use network functions,
some files from <filename>/etc</filename> such as <filename>/etc/resolv.conf</filename> and
<filename>/etc/services</filename> will need to be moved into <filename>/var/www/etc</filename>.
The OpenBSD PEAR package automatically installs into the correct chroot directories, so
no special modification is needed there. More information on the OpenBSD Apache is available
in the <ulink url="&url.openbsd.apachefaq;">OpenBSD FAQ</ulink>.
</simpara>
</listitem>
<listitem>
<simpara>
The OpenBSD 3.4 package for the <ulink url="&url.gd;">gd</ulink> extension requires
XFree86 to be installed. If you do not wish to use some of the font features that
require X11, install the <filename>php4-gd-4.3.3-no_x11.tgz</filename> package instead.
</simpara>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="install.openbsd.older">
<title>Older Releases</title>
<simpara>
Older releases of OpenBSD used the FLAVORS system to compile up
a statically linked PHP. Since it is hard to generate binary packages using
this method, it is now deprecated. You can still use the old stable
ports trees if you wish, but they are unsupported by the OpenBSD team.
If you have any comments about this, the current maintainer for the port
is Anil Madhavapeddy (avsm at openbsd dot org).
</simpara>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.3 $ -->
<sect1 id="install.otherhttpd">
<title>Servers-Other web servers</title>
<para>
PHP can be built to support a large number of web servers. Please
<!-- Not working anymore. Should work again after finishing and
grouping the configure options.
see <link linkend="install.configure.servers">Server-related
options</link> for a full list of server-related configure
-->
see the <link linkend="configure">configure options</link> chapter for
more details. The PHP CGI binaries are compatible with almost all
webservers supporting the CGI standard.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,78 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.4 $ -->
<sect1 id="install.problems">
<title>Problems?</title>
<sect2>
<title>Read the FAQ</title>
<simpara>
Some problems are more common than others. The most
common ones are listed in the <link linkend="faq">PHP
FAQ</link>, part of this manual.
</simpara>
</sect2>
<sect2 id="install.otherproblems">
<title>Other problems</title>
<simpara>
If you are still stuck, someone on the PHP installation mailing list may be
able to help you. You should check out the archive first, in case
someone already answered someone else who had the same problem as
you. The archives are available from the support page on <ulink
url="&url.php.support;">&url.php.support;</ulink>. To subscribe to the PHP installation
mailing list, send an empty mail to <ulink
url="mailto:&email.php.install.subscribe;">&email.php.install.subscribe;</ulink>.
The mailing list address is <ulink
url="mailto:&email.php.install;">&email.php.install;</ulink>.
</simpara>
<simpara>
If you want to get help on the mailing list, please try to be
precise and give the necessary details about your environment
(which operating system, what PHP version, what web server, if
you are running PHP as CGI or a server module, &safemode;, etc...), and
preferably enough code to make others able to reproduce and test
your problem.
</simpara>
</sect2>
<sect2 id="install.bugreports">
<title>Bug reports</title>
<simpara>
If you think you have found a bug in PHP, please report it. The
PHP developers probably don't know about it, and unless you
report it, chances are it won't be fixed. You can report bugs
using the bug-tracking system at <ulink
url="&url.php.bugs;">&url.php.bugs;</ulink>. Please do not
send bug reports in mailing list or personal letters. The
bug system is also suitable to submit feature requests.
</simpara>
<simpara>
Read the <ulink
url="&url.php.bugs.howtoreport;">How to report a bug</ulink>
document before submitting any bug reports!
</simpara>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,70 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.3 $ -->
<sect1 id="install.sambar">
<title>Servers-Sambar</title>
<para>
This section contains notes and hints specific to the
<ulink url="&url.sambar;">Sambar server</ulink> for Windows.
</para>
<sect2 id="install.sambar.windows">
<title>Sambar Windows</title>
<simpara>
This list describes how to set up the ISAPI module to
work with the Sambar server on Windows.
</simpara>
<para>
<itemizedlist>
<listitem>
<para>
Find the file called <filename>mappings.ini</filename> (in the config
directory) in the Sambar install directory.
</para>
</listitem>
<listitem>
<para>
Open <filename>mappings.ini</filename> and add the following line
under <literal>[ISAPI]</literal>:
<example>
<title>ISAPI configuration of Sambar</title>
<programlisting>
<![CDATA[
*.php = c:\php\php4isapi.dll
]]>
</programlisting>
</example>
(This line assumes that PHP was installed in
<filename>c:\php</filename>.)
</para>
</listitem>
<listitem>
<para>
Now restart the Sambar server for the changes to take effect.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,106 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.4 $ -->
<sect1 id="install.solaris">
<title>Unix/<productname>Solaris</productname> installs</title>
<para>
This section contains notes and hints specific to installing
PHP on <productname>Solaris</productname> systems.
</para>
<sect2 id="install.solaris.required">
<title>Required software</title>
<para>
<productname>Solaris</productname> installs often lack C compilers and their related tools.
Read <link linkend="faq.installation.needgnu">this FAQ</link>
for information on why using GNU versions for some of these
tools is necessary. The required software is as follows:
<itemizedlist>
<listitem>
<simpara>
gcc (recommended, other C compilers may work)
</simpara>
</listitem>
<listitem>
<simpara>
make
</simpara>
</listitem>
<listitem>
<simpara>
flex
</simpara>
</listitem>
<listitem>
<simpara>
bison
</simpara>
</listitem>
<listitem>
<simpara>
m4
</simpara>
</listitem>
<listitem>
<simpara>
autoconf
</simpara>
</listitem>
<listitem>
<simpara>
automake
</simpara>
</listitem>
<listitem>
<simpara>
perl
</simpara>
</listitem>
<listitem>
<simpara>
gzip
</simpara>
</listitem>
<listitem>
<simpara>
tar
</simpara>
</listitem>
<listitem>
<simpara>
GNU sed
</simpara>
</listitem>
</itemizedlist>
In addition, you will need to install (and possibly compile) any
additional software specific to your configuration, such as Oracle
or MySQL.
</para>
</sect2>
<sect2 id="install.solaris.packages">
<title>Using Packages</title>
<simpara>
You can simplify the <productname>Solaris</productname> install process by using pkgadd to
install most of your needed components.
</simpara>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,162 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<sect1 id="install.unix">
<title>Installation on Unix systems</title>
<para>
This section will guide you through the general configuration and
installation of PHP on Unix systems. Be sure to investigate any
sections specific to your platform or web server before you begin
the process.
</para>
<para>
Prerequisite knowledge and software:
<itemizedlist>
<listitem>
<simpara>
Basic Unix skills (being able to operate "make" and a C
compiler, if compiling)
</simpara>
</listitem>
<listitem>
<simpara>
An ANSI C compiler (if compiling)
</simpara>
</listitem>
<listitem>
<simpara>
flex (for compiling)
</simpara>
</listitem>
<listitem>
<simpara>
bison (for compiling)
</simpara>
</listitem>
<listitem>
<simpara>
A web server
</simpara>
</listitem>
<listitem>
<simpara>
Any module specific components (such as gd, pdf libs, etc.)
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
There are several ways to install PHP for the Unix platform, either
with a compile and configure process, or through various
pre-packaged methods. This documentation is mainly focused around
the process of compiling and configuring PHP.
</para>
<para>
The initial PHP setup and configuration process is controlled by the
use of the commandline options of the <filename>configure</filename>
script. This page outlines the usage of the most common options,
but there are many others to play with. Check out the chapter on
<link linkend="configure">configure options</link> for more details.
There are several ways to install PHP:
<itemizedlist>
<listitem>
<simpara>
As an <link linkend="install.apache">Apache 1.x module</link> or
an <link linkend="install.apache2">Apache 2.x module</link>.
</simpara>
</listitem>
<listitem>
<simpara>
As an <link linkend="install.caudium">Pike module for Caudium</link>
</simpara>
</listitem>
<listitem>
<simpara>
For use with <link
linkend="install.otherhttpd">AOLServer, NSAPI,
phttpd, Pi3Web, Roxen, thttpd, or Zeus.</link>
</simpara>
</listitem>
<listitem>
<simpara>
As a <link linkend="install.commandline">CGI executable</link>
</simpara>
</listitem>
</itemizedlist>
</para>
<sect2 id="install.unix.apache-module">
<title>Apache Module Quick Reference</title>
<para>
PHP can be compiled in a number of different ways, but one of
the most popular is as an Apache module. The following is a quick
installation overview.
</para>
<example id="install.unix.apache-module.quick">
<title>
Quick Installation Instructions for PHP 4 (Apache Module Version)
</title>
<programlisting role="shell">
<![CDATA[
1. gunzip apache_1.3.x.tar.gz
2. tar xvf apache_1.3.x.tar
3. gunzip php-x.x.x.tar.gz
4. tar xvf php-x.x.x.tar
5. cd apache_1.3.x
6. ./configure --prefix=/www
7. cd ../php-x.x.x
8. ./configure --with-mysql --with-apache=../apache_1.3.x --enable-ftp
9. make
10. make install
11. cd ../apache_1.3.x
12. ./configure --activate-module=src/modules/php4/libphp4.a
13. make
14. make install
15. cd ../php-x.x.x
16. cp php.ini-dist /usr/local/lib/php.ini
17. Edit your httpd.conf or srm.conf file and add:
AddType application/x-httpd-php .php
18. Use your normal procedure for restarting the Apache server. (You must
stop and restart the server, not just cause the server to reload by
use a HUP or USR1 signal.)
]]>
</programlisting>
</example>
</sect2>
<sect2 id="install.building">
<title>Building</title>
<simpara>
When PHP is configured, you are ready to build the CGI executable.
The command <command>make</command> should
take care of this. If it fails and you can't figure out why, see
the <link linkend="install.problems">Problems section</link>.
</simpara>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

File diff suppressed because it is too large Load diff

View file

@ -1,83 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<sect1 id="install.xitami">
<title>Servers-Xitami</title>
<para>
This section contains notes and hints specific to
<ulink url="&url.xitami;">Xitami</ulink>.
</para>
<sect2 id="install.xitami.windows">
<title>Xitami for Windows</title>
<simpara>
This list describes how to set up the PHP CGI binary
to work with Xitami on Windows.
</simpara>
<note>
<title>Important for CGI users</title>
<para>
Read the <link linkend="faq.installation.forceredirect">faq
on cgi.force_redirect</link> for important details. This
directive needs to be set to <literal>0</literal>.
</para>
</note>
<para>
<itemizedlist>
<listitem>
<para>
Make sure the webserver is running, and point
your browser to xitamis admin console
(usually <literal>http://127.0.0.1/admin</literal>),
and click on Configuration.
</para>
</listitem>
<listitem>
<para>
Navigate to the Filters, and put the
extension which PHP should parse (i.e. .php)
into the field File extensions (.xxx).
</para>
</listitem>
<listitem>
<para>
In Filter command or script put the path and name
of your PHP executable i.e. <filename>c:\php\php.exe</filename>.
</para>
</listitem>
<listitem>
<para>
Press the 'Save' icon.
</para>
</listitem>
<listitem>
<para>
Restart the server to reflect changes.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.37 $ -->
<!-- $Revision: 1.38 $ -->
<chapter id="introduction">
<title>Introduction</title>
@ -91,7 +91,7 @@
viewing the PHP page through the server. All these can
run on your home machine if you are just experimenting
with PHP programming. See the
<link linkend="installation">installation instructions</link>
<link linkend="install">installation instructions</link>
section for more information.
</simpara>
</listitem>
@ -229,7 +229,7 @@
<para>
As you can see this page is not enough to list all
the features and benefits PHP can offer. Read on in
the sections about <link linkend="installation">installing
the sections about <link linkend="install">installing
PHP</link>, and see the <link linkend="funcref">function
reference</link> part for explanation of the extensions
mentioned here.

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.35 $ -->
<!-- $Revision: 1.36 $ -->
<chapter id="tutorial">
<title>A simple tutorial</title>
@ -44,7 +44,7 @@
</para>
<para>
You can either install these individually or choose a simpler way. Our
manual has <link linkend="installation">installation instructions for
manual has <link linkend="install">installation instructions for
PHP</link> (assuming you already have some webserver set up). In case
you have problems with installing PHP yourself, we would suggest you ask
your questions on our <ulink url="&url.php.mailing-lists;">installation
@ -120,7 +120,7 @@
for download, or you see the whole file as text, chances are that the
server you are on does not have PHP enabled, or is not configured properly.
Ask your administrator to enable it for you using the
<link linkend="installation">Installation</link> chapter
<link linkend="install">Installation</link> chapter
of the manual. If you are developing locally, also read the
installation chapter to make sure everything is configured
properly. Make sure that you access the file via http with the server

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.12 $ -->
<!-- $Revision: 1.13 $ -->
<sect1 id="install.windows.manual">
<title>Manual Installation Steps</title>
@ -41,7 +41,7 @@
If you use Microsoft <emphasis>Windows 98/NT4</emphasis> download the
latest version of the Microsoft Data Access Components (MDAC) for your
platform. MDAC is available at <ulink url="&url.mdac;">&url.mdac;</ulink>.
This requirement exists because <link linkend="ref.odbc">ODBC</link> is
This requirement exists because <link linkend="ref.uodbc">ODBC</link> is
built into the distributed Windows binaries.
</para>
</note>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.51 $ -->
<!-- $Revision: 1.52 $ -->
<chapter id="language.functions">
<title>Functions</title>
@ -547,7 +547,7 @@ $foo->$funcname(); // This calls $foo->Variable()
extensions are loaded into your PHP. Also note that many extensions are
enabled by default and that the PHP manual is split up by extension.
See the <link linkend="configuration">configuration</link>,
<link linkend="installation">installation</link>, and individual
<link linkend="install">installation</link>, and individual
extension chapters, for information on how to setup your PHP.
</para>
<para>

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.4 $ -->
<!-- $Revision: 1.5 $ -->
<section id="mbstring.installation">
&reftitle.install;
<para>
<literal>mbstring</literal> is a non-default extension. This means it
is not enabled by default. You must explicitly enable the module with
the <literal>configure</literal> option. See the
<link linkend="installation">Install</link> section for details.
<link linkend="install">Install</link> section for details.
</para>
<simpara>
The following configure options are related to the