clean up some text, fix some extension/module confusion, reorganize the win32 install directions a bit, and include the win32 build instructions

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@40068 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
jim winstead 2001-01-23 23:43:14 +00:00
parent 936c260025
commit 654d0de41f

View file

@ -151,18 +151,18 @@
<sect1 id="install.linux">
<title>Linux installs</title>
<para>
This section contains notes and hints specific to Linux installs
of PHP.
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,
such as rpm files. This can greatly assist in building a standard
Many Linux distributions have some sort of package installation,
such as RPM. This can greatly 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's worth
with building and compiling your own software, it is worth
investigating whether or not somebody has already built a packaged
version of PHP with the features you need.
</simpara>
@ -172,8 +172,8 @@
<sect1 id="install.hpux">
<title>HP-UX installs</title>
<para>
This section contains notes and hints specific to HP-UX installs
of PHP.
This section contains notes and hints specific to installing PHP
on HP-UX systems.
</para>
<example id="install.hpux.example">
<title>
@ -194,7 +194,7 @@ uncompress the file and install using swinstall
http://gatekeep.cs.utah.edu/ftp/hpux/Gnu/gcc-2.95.2/gcc-2.95.2-sd-10.20.depot.gz
gunzip this file and install gcc using swinstall.
3. You need the gnu binutils, you can download a binary distribution from
3. You need the GNU binutils, you can download a binary distribution from
http://hpux.connect.org.uk/ftp/hpux/Gnu/binutils-2.9.1/binutils-2.9.1-sd-10.20.depot.gz
gunzip and install using swinstall.
@ -204,7 +204,7 @@ http://hpux.connect.org.uk/ftp/hpux/Gnu/bison-1.28/bison-1.28-sd-10.20.depot.gz
install as above.
5. 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.
http://www.gnu.org mirrors. It is in the <filename>non-gnu</filename> directory of the ftp site.
Download the file, gunzip, then tar -xvf it. Go into the newly created flex
directory and do a ./configure, then a make, and then a make install
@ -256,8 +256,8 @@ Paul Mckay.
<sect1 id="install.solaris">
<title>Solaris installs</title>
<para>
This section contains notes and hints specific to Solaris installs
of PHP.
This section contains notes and hints specific to installing
PHP on Solaris systems.
</para>
<sect2 id="install.solaris.required">
<title>Required software</title>
@ -325,7 +325,7 @@ Paul Mckay.
<sect2 id="install.solaris.packages">
<title>Using Packages</title>
<simpara>
You can simplify the solaris install process by using pkgadd to
You can simplify the Solaris install process by using pkgadd to
install most of your needed components.
</simpara>
</sect2>
@ -334,30 +334,30 @@ Paul Mckay.
<sect1 id="install.macosx">
<title>Mac OS X installs</title>
<para>
This section contains notes and hints specific to Mac OS X installs
of PHP.
This section contains notes and hints specific to installing
PHP on Mac OS X.
</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 greatly assist in building a standard
Mac OS X. This can greatly 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
need to build PHP and/or your web server yourself. If you are unfamiliar
with building and compiling your own software, it's worth
investigating whether or not somebody has already built a packaged
version of PHP with the features you need.
<ulink url="&url.lightyear;">Lightyear Design</ulink> offers a
pre-built version of PHP for OS X, as does
<ulink url="&url.tenon;">Tenon Intersystems</ulink>
<ulink url="&url.tenon;">Tenon Intersystems</ulink>.
</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.
server. The following is for OS X Server.
</simpara>
<example id="install.macosx.compile.example">
<title>
@ -447,7 +447,7 @@ Paul Mckay.
<note>
<para>
These are only used at compile time. If you want to alter PHP's
runtime configuration, please go to <link
runtime configuration, please see the chapter on <link
linkend="configuration">Configuration</link>.
</para>
</note>
@ -1055,7 +1055,7 @@ Paul Mckay.
DB2 and Adabas D. It also works for normal ODBC libraries.
Has been tested with iODBC, Solid, Adabas D, IBM DB2 and
Sybase SQL Anywhere. Requires that one (and only one) of these
modules or the Velocis module is enabled, or a custom ODBC
extensions or the Velocis extension is enabled, or a custom ODBC
library specified. This option is only applicable if one of
the following options is used: <link
linkend="install.configure.with-iodbc">--with-iodbc</link>,
@ -2782,26 +2782,24 @@ Paul Mckay.
<sect1 id="install-windows95-nt">
<title>Installation on Windows 95/98/NT systems</title>
<para>
There are two main ways to set up PHP for windows, either
manually or with an installshield installer.
<itemizedlist>
<listitem>
<simpara>
<link linkend="install.windows.installer">Installshield</link>
directions are here.
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="install.windows.manual">Manual Setup</link>
directions are also available.
</simpara>
</listitem>
</itemizedlist>
There are two main ways to install PHP for Windows: either
<link linkend="install.windows.manual">manually</link>
or by using an <link linkend="install.windows.installer">InstallShield</link>
installer.
</para>
<para>
If you have Microsoft Visual Studio, you can also
<link linkend="install.windows.build">build</link>
PHP from the original source code.
</para>
<para>
Once you have PHP installed on your Windows system, you may also
want to <link linkend="install.windows.extensions">load various extensions</link>
for added functionality.
</para>
<sect2 id="install.windows.installer">
<title>Windows Installshield</title>
<title>Windows InstallShield</title>
<para>
The Windows PHP installer available from the downloads page at
@ -2811,12 +2809,12 @@ Paul Mckay.
</para>
<simpara>
Install your choosen http server on your system and make sure it
all works.
Install your selected <acronym>HTTP</acronym> server on your system
and make sure that it works.
</simpara>
<simpara>
Run the installer exe file and follow the instructions provided by
Run the executable installer and follow the instructions provided by
the installation wizard. Two types of installation are supported -
standard, which provides sensible defaults for all the settings it
can, and advanced, which asks questions as it goes along.
@ -2917,15 +2915,14 @@ Paul Mckay.
</listitem>
<listitem>
<simpara>
Choose which modules you would like to load when PHP
Choose which extensions you would like to load when PHP
starts. You can uncomment the: 'extension=php_*.dll' lines
to load these modules. Some modules require you to have
to load these extensions. Some extensions require you to have
additional libraries installed on your system for the
module to work correctly. The PHP <ulink
url="&url.php.faq;">FAQ</ulink> has more information on
where to get supporting libraries. You can also load a
module dynamically in your script using:
<command>dl("php_*.dll");</command>
module dynamically in your script using <function>dl</function>.
</simpara>
</listitem>
<listitem>
@ -2951,109 +2948,319 @@ Paul Mckay.
</simpara>
</sect2>
</sect1>
<sect1 id="install-windows-modules">
<title>Installation of Windows Modules</title>
<para>
After installing PHP and a webserver on windows, you will
probably want to tune your specific modules. The following
table describes the current windows modules. As described in
the manual installation steps, you can choose which modules you
would like to load when PHP starts by uncommenting the:
'extension=php_*.dll' lines. Some modules require you to have
additional libraries installed on your system for the
module to work correctly. The PHP
<ulink url="&url.php.faq;">FAQ</ulink> has more information on
where to get supporting libraries. You can also load a
module dynamically in your script using:
<command>dl("php_*.dll");</command>
</para>
<sect2 id="install.windows.modules">
<title>PHP Modules</title>
<sect2 id="install.windows.build">
<title>Building from source</title>
<para>
Before getting started, it is worthwhile answering the question:
"Why is building on Windows so hard?" Two reasons come to mind:
</para>
<orderedlist>
<listitem><simpara>
Windows does not (yet) enjoy a large community of developers
who are willing to freely share their source. As a direct
result, the necessary investment in infrastructure required
to support such development hasn't been made. By and large,
what is available has been made possible by the porting of
necessary utilities from Unix. Don't be surprised if some of
this heritage shows through from time to time.
</simpara></listitem>
<listitem><simpara>
Pretty much all of the instructions that follow are of the
"set and forget" variety. So sit back and try follow the
instructions below as faithfully as you can.
</simpara></listitem>
</orderedlist>
<sect3 id="install.windows.build.prepare">
<title>Preparations</title>
<para>
Before you get started, you have a lot to download....
</para>
<itemizedlist>
<listitem><simpara>
For starters, get the Cygwin toolkit from the closest Cygnus <ulink
url="http://sourceware.cygnus.com/cygwin/download.html">mirror</ulink>
site. What you are looking for is cygwin.exe file. This will
provide you most of the popular GNU utilities used by the
build process.
</simpara></listitem>
<listitem><simpara>
Download the rest of the build tools you will need from the PHP
site at <ulink url="http://www.php.net/extra/win32build.zip"
>http://www.php.net/extra/win32build.zip</ulink>.
</simpara></listitem>
<listitem><simpara>
Get the source code for the DNS name resolver used by PHP
at <ulink url="http://www.php.net/extra/bindlib_w32.zip"
>http://www.php.net/extra/bindlib_w32.zip</ulink>. This
is a replacement for the <filename>resolv.lib</filename>
library included in <filename>win32build.zip</filename>.
</simpara></listitem>
<listitem><simpara>
If you don't already have an unzip utility, you will
need one. A free version is available from <ulink
url="http://www.cdrom.com/pub/infozip/UnZip.html">InfoZip</ulink>.
</simpara></listitem>
</itemizedlist>
<simpara>
Finally, you are going to need the source to PHP 4 itself.
You can get the latest development version using <ulink
url="http://www.php.net/anoncvs.php">anonymous CVS</ulink>. If you get
a <ulink url="http://snaps.php.net/">snapshot</ulink> or a <ulink
url="http://www.php.net/downloads.php">source</ulink> tarball, you
not only will have to untar and ungzip it, but you will have to
convert the bare linefeeds to crlf's in the <filename>*.dsp</filename>
and <filename>*.dsw</filename> files before Microsoft Visual C++
will have anything to do with them.
</simpara>
<note>
<simpara>
Place the <filename>Zend</filename> and
<filename>TSRM</filename> directories inside the
<filename>php4</filename> directory in order for the projects
to be found during the build process.
</simpara>
</note>
</sect3>
<sect3 id="install.windows.build.install">
<title>Putting it all together</title>
<itemizedlist>
<listitem><simpara>
Follow the instructions for installing the unzip utility of
your choosing.
</simpara></listitem>
<listitem>
<simpara>
Execute <filename>cygwin.exe</filename> and follow the installation
instructions. If you choose to install to a path other than
<filename>c:\cygnus</filename>, let the build process know by setting
the Cygwin environment variable. On Windows 95/98 setting
an environment variable can be done by placing a line in
your autoexec.bat. On Windows NT, go to My Computer =&gt;
Control Panel =&gt; System and select the environment tab.
</simpara>
<warning>
<simpara>
Make a temporary directory for Cygwin to use, otherwise many
commands (particularly bison) will fail. On Windows 95/98,
<userinput>mkdir C:\TMP</userinput>. For Windows NT,
<userinput>mkdir %SystemDrive%\tmp</userinput>.
</simpara>
</warning>
</listitem>
<listitem><simpara>
Make a directory and unzip <filename>win32build.zip</filename> into it.
</simpara></listitem>
<listitem>
<simpara>
Launch Microsoft Visual C++, and from the menu select
Tools =&gt; Options. In the dialog, select the
directories tab. Sequentially change the dropdown
to Executables, Includes, and Library files,
and ensure that <filename>cygwin\bin</filename>,
<filename>win32build\include</filename>, and
<filename>win32build\lib</filename> are in each list,
respectively. (To add an entry, select a blank line
at the end of the list and begin typing). Typical entries
will look like this:
</simpara>
<itemizedlist>
<listitem><simpara>
<filename>c:\cygnus\bin</filename>
</simpara></listitem>
<listitem><simpara>
<filename>c:\php-win32build\include</filename>
</simpara></listitem>
<listitem><simpara>
<filename>c:\php-win32build\lib</filename>
</simpara></listitem>
</itemizedlist>
<simpara>
Press OK, and exit out of Visual C++.
</simpara>
</listitem>
<listitem>
<simpara>
Make another directory and unzip <filename>bindlib_w32.zip</filename>
into it. Decide whether you want to have debug symbols available
(bindlib - Win32 Debug) or not (bindlib - Win32 Release).
Build the appropriate configuration:
</simpara>
<itemizedlist>
<listitem><simpara>
For GUI users, launch VC++, and then select File =&gt; Open
Workspace and select bindlib. Then select Build=&gt;Set
Active Configuration and select the desired configuration.
Finally select Build=&gt;Rebuild All.
</simpara></listitem>
<listitem>
<simpara>
For command line users, make sure that you either have
the C++ environment variables registered, or have run
<command>vcvars.bat</command>, and then execute one of the
following:
</simpara>
<itemizedlist>
<listitem><simpara>
<userinput>msdev bindlib.dsp /MAKE "bindlib - Win32 Debug"</userinput>
</simpara></listitem>
<listitem><simpara>
<userinput>msdev bindlib.dsp /MAKE "bindlib - Win32 Release"</userinput>
</simpara></listitem>
</itemizedlist>
</listitem>
<listitem><simpara>
At this point, you should have a usable
<filename>resolv.lib</filename> in either your
<filename>Debug</filename> or <filename>Release</filename>
subdirectories. Copy this file into your
<filename>win32build\lib</filename> directory over the
file by the same name found in there.
</simpara></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="install.windows.build.compile">
<title>Compiling</title>
<simpara>
The best way to get started is to build the standalone/CGI version.
</simpara>
<itemizedlist>
<listitem><simpara>
For GUI users, launch VC++, and then select File =&gt; Open
Workspace and select php4ts. Then select Build=&gt;Set Active
Configuration and select the desired configuration. Finally
select Build=&gt;Rebuild All.
</simpara></listitem>
<listitem>
<simpara>
For command line users, make sure that you either have
the C++ environment variables registered, or have run
<command>vcvars.bat</command>, and then execute one of the
following:
</simpara>
<itemizedlist>
<listitem><simpara>
<userinput>msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"</userinput>
</simpara></listitem>
<listitem><simpara>
<userinput>msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"</userinput>
</simpara></listitem>
<listitem><simpara>
At this point, you should have a usable
<filename>php.exe</filename> in either
your <filename>Debug_TS</filename> or
<filename>Release_TS</filename> subdirectories.
</simpara></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<simpara>
Repeat the above steps with <filename>php4isapi.dsp</filename>
(which can be found in <filename>sapi\isapi</filename>) in
order to build the code necessary for integrating PHP with
Microsoft IIS.
</simpara>
</sect3>
</sect2>
<sect2 id="install.windows.extensions">
<title>Installation of Windows extensions</title>
<para>
After installing PHP and a webserver on Windows, you will
probably want to install some extensions for added functionality.
The following table describes some of the extensions available. As
described in the manual installation steps, you can choose which
extensions you would like to load when PHP starts by uncommenting the:
'extension=php_*.dll' lines. Some extensions require you to have
additional libraries installed on your system for the module to
work correctly. The PHP <ulink url="&url.php.faq;">FAQ</ulink>
has more information on where to get supporting libraries. You
can also load a module dynamically in your script using <function>dl</function>.
</para>
<para>
<table>
<title>PHP Modules</title>
<title>PHP Extensions</title>
<tgroup cols="2">
<tbody>
<row>
<entry>php_calendar.dll</entry>
<entry>Calendar conversion functions</entry>
</row>
<row>
<entry>php_crypt.dll</entry>
<entry>Crypt functions</entry>
</row>
<row>
<entry>php_dbase.dll</entry>
<entry>DBase functions</entry>
</row>
<row>
<entry>php_dbm.dll</entry>
<entry>GDBM emulation via Berkely DB2 library</entry>
</row>
<row>
<entry>php_filepro.dll</entry>
<entry>READ ONLY access to filepro databases</entry>
</row>
<row>
<entry>php_gd.dll</entry>
<entry>GD Library functions for gif manipulation</entry>
</row>
<row>
<entry>php_hyperwave.dll</entry>
<entry>HyperWave functions</entry>
</row>
<row>
<entry>php_imap4r2.dll</entry>
<entry>IMAP 4 functions</entry>
</row>
<row>
<entry>php_ldap.dll</entry>
<entry>LDAP functions</entry>
</row>
<row>
<entry>php_msql1.dll</entry>
<entry>mSQL 1 client</entry>
</row>
<row>
<entry>php_msql2.dll</entry>
<entry>mSQL 2 client</entry>
</row>
<row>
<entry>php_mssql.dll</entry>
<entry>MSSQL client (requires MSSQL DB-Libraries</entry>
</row>
<row>
<entry>php3_mysql.dll (Built into PHP 4)</entry>
<entry>MySQL functions</entry>
</row>
<row>
<entry>php_nsmail.dll</entry>
<entry>Netscape mail functions</entry>
</row>
<row>
<entry>php_oci73.dll</entry>
<entry>Oracle functions</entry>
</row>
<row>
<entry>php_snmp.dll</entry>
<entry>SNMP get and walk functions (NT only!)</entry>
</row>
<row>
<entry>php_zlib.dll</entry>
<entry>ZLib functions</entry>
</row>
<row>
<entry>php_calendar.dll</entry>
<entry>Calendar conversion functions</entry>
</row>
<row>
<entry>php_crypt.dll</entry>
<entry>Crypt functions</entry>
</row>
<row>
<entry>php_dbase.dll</entry>
<entry>dBase functions</entry>
</row>
<row>
<entry>php_dbm.dll</entry>
<entry>Berkeley DB2 library</entry>
</row>
<row>
<entry>php_filepro.dll</entry>
<entry>Read-only access to Filepro databases</entry>
</row>
<row>
<entry>php_gd.dll</entry>
<entry>GD library functions for GIF manipulation</entry>
</row>
<row>
<entry>php_hyperwave.dll</entry>
<entry>HyperWave functions</entry>
</row>
<row>
<entry>php_imap4r2.dll</entry>
<entry>IMAP 4 functions</entry>
</row>
<row>
<entry>php_ldap.dll</entry>
<entry>LDAP functions</entry>
</row>
<row>
<entry>php_msql1.dll</entry>
<entry>mSQL 1 client</entry>
</row>
<row>
<entry>php_msql2.dll</entry>
<entry>mSQL 2 client</entry>
</row>
<row>
<entry>php_mssql.dll</entry>
<entry>MSSQL client (requires MSSQL DB-Libraries</entry>
</row>
<row>
<entry>php3_mysql.dll (built into PHP 4)</entry>
<entry>MySQL functions</entry>
</row>
<row>
<entry>php_nsmail.dll</entry>
<entry>Netscape mail functions</entry>
</row>
<row>
<entry>php_oci73.dll</entry>
<entry>Oracle functions</entry>
</row>
<row>
<entry>php_snmp.dll</entry>
<entry>SNMP get and walk functions (NT only!)</entry>
</row>
<row>
<entry>php_zlib.dll</entry>
<entry>ZLib compression functions</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect2>
</sect1>
<sect1 id="install.apache">
<title>Apache Server installs</title>
<para>
@ -3348,7 +3555,7 @@ Paul Mckay.
</example>
<para>
You can of course compile your Caudium module with support for the
various extension modules available in PHP4. See the
various extensions available in PHP 4. See the
<link linkend="install.configure">complete list of configure
options</link> for an exhaustive rundown.
</para>