jimw Tue Jan 23 15:43:14 2001 EDT Modified files: /phpdoc/en/chapters install.xml Log: clean up some text, fix some extension/module confusion, reorganize the win32 install directions a bit, and include the win32 build instructions
Index: phpdoc/en/chapters/install.xml diff -u phpdoc/en/chapters/install.xml:1.32 phpdoc/en/chapters/install.xml:1.33 --- phpdoc/en/chapters/install.xml:1.32 Mon Jan 22 16:13:09 2001 +++ phpdoc/en/chapters/install.xml Tue Jan 23 15:43:14 2001 @@ -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 @@ 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 @@ 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 @@ <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 @@ <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 @@ <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 @@ <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 @@ 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 @@ <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 @@ </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 @@ </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 @@ </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 => + Control Panel => 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 => 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 => Open + Workspace and select bindlib. Then select Build=>Set + Active Configuration and select the desired configuration. + Finally select Build=>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 => Open + Workspace and select php4ts. Then select Build=>Set Active + Configuration and select the desired configuration. Finally + select Build=>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 @@ </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>