nlopess Mon Aug 2 17:33:03 2004 EDT
Modified files: /phpdoc/en/install/windows apache1.xml apache2.xml index.xml manual.xml /phpdoc/en/faq installation.xml Log: re-write of the windows install section. still need some reviewing #going to sleep now...
http://cvs.php.net/diff.php/phpdoc/en/install/windows/apache1.xml?r1=1.5&r2=1.6&ty=u Index: phpdoc/en/install/windows/apache1.xml diff -u phpdoc/en/install/windows/apache1.xml:1.5 phpdoc/en/install/windows/apache1.xml:1.6 --- phpdoc/en/install/windows/apache1.xml:1.5 Sat Jun 5 16:47:47 2004 +++ phpdoc/en/install/windows/apache1.xml Mon Aug 2 17:33:03 2004 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> +<!-- $Revision: 1.6 $ --> <sect1 id="install.windows.apache1"> <title>Apache 1.3.x on Microsft Windows</title> <para> @@ -8,6 +8,12 @@ have <link linkend="install.windows.apache2">instructions and notes for Apache 2 on a separate page</link>. </para> + <note> + <para> + You should read the <link linkend="install.windows.manual">manual + installation steps</link> first! + </para> + </note> <simpara> There are two ways to set up PHP to work with Apache 1.3.x @@ -61,6 +67,9 @@ # For PHP 5 Action application/x-httpd-php "/php/php-cgi.exe" + +# specify the directory where php.ini is +SetEnv PHPRC C:/php ]]> </programlisting> </example> @@ -94,53 +103,39 @@ <sect2 id="install.windows.apache1.module"> <title>Installing as an Apache module</title> - <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/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> + You should add the following lines to your Apache &httpd.conf; file: </para> - + <para> + <example> + <title>PHP as an Apache 1.3.x module</title> + <programlisting role="apache-conf"> +<![CDATA[ +AddType application/x-httpd-php .php + +# For PHP 4 +LoadModule php4_module "c:/php/sapi/php4apache.dll" + +# For PHP 5 +LoadModule php5_module "c:/php/php5apache.dll" + +# specify the directory where php.ini is +SetEnv PHPRC C:/php +]]> + </programlisting> + </example> + </para> + <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> <simpara> If you would like to use the source code highlighting feature, you need to add the following line to your &httpd.conf;: http://cvs.php.net/diff.php/phpdoc/en/install/windows/apache2.xml?r1=1.5&r2=1.6&ty=u Index: phpdoc/en/install/windows/apache2.xml diff -u phpdoc/en/install/windows/apache2.xml:1.5 phpdoc/en/install/windows/apache2.xml:1.6 --- phpdoc/en/install/windows/apache2.xml:1.5 Sat Jun 5 16:47:47 2004 +++ phpdoc/en/install/windows/apache2.xml Mon Aug 2 17:33:03 2004 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.5 $ --> +<!-- $Revision: 1.6 $ --> <sect1 id="install.windows.apache2"> <title>Apache 2.0.x on Microsoft Windows</title> <para> @@ -8,6 +8,12 @@ have <link linkend="install.windows.apache1">instructions and notes for Apache 1.3.x users on a separate page</link>. </para> + <note> + <para> + You should read the <link linkend="install.windows.manual">manual + installation steps</link> first! + </para> + </note> &warn.apache2.compat; @@ -69,15 +75,6 @@ <sect2 id="install.windows.apache2.module"> <title>Installing as an Apache module</title> - - <para> - If you would like to use PHP as a module in Apache 2.0.x, - 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. - </para> <para> You need to insert these two lines to your Apache &httpd.conf; configuration file to set up the @@ -93,6 +90,9 @@ # For PHP 5 do something like this: LoadModule php5_module "c:/php/php5apache2.dll" AddType application/x-httpd-php .php + +# configure the path to php.ini +PHPIniDir "C:/php" ]]> </programlisting> </example> http://cvs.php.net/diff.php/phpdoc/en/install/windows/index.xml?r1=1.8&r2=1.9&ty=u Index: phpdoc/en/install/windows/index.xml diff -u phpdoc/en/install/windows/index.xml:1.8 phpdoc/en/install/windows/index.xml:1.9 --- phpdoc/en/install/windows/index.xml:1.8 Fri Jul 30 12:26:08 2004 +++ phpdoc/en/install/windows/index.xml Mon Aug 2 17:33:03 2004 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.8 $ --> +<!-- $Revision: 1.9 $ --> <chapter id="install.windows"> <title>Installation on Windows systems</title> <para> @@ -11,8 +11,7 @@ <para> There are two main ways to install PHP for Windows: either <link linkend="install.windows.manual">manually</link> - or by using the <link linkend="install.windows.installer">installer</link> - installer. + or by using the <link linkend="install.windows.installer">installer</link>. </para> <para> If you have Microsoft Visual Studio, you can also http://cvs.php.net/diff.php/phpdoc/en/install/windows/manual.xml?r1=1.8&r2=1.9&ty=u Index: phpdoc/en/install/windows/manual.xml diff -u phpdoc/en/install/windows/manual.xml:1.8 phpdoc/en/install/windows/manual.xml:1.9 --- phpdoc/en/install/windows/manual.xml:1.8 Sun Jun 13 12:17:48 2004 +++ phpdoc/en/install/windows/manual.xml Mon Aug 2 17:33:03 2004 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.8 $ --> +<!-- $Revision: 1.9 $ --> <sect1 id="install.windows.manual"> <title>Manual Installation Steps</title> @@ -41,25 +41,25 @@ <para> The following steps should be performed on all installations before any - server specific instructions. - <itemizedlist> - <listitem> - <para> - Extract the distribution file to a directory of your choice, - <filename class="directory">c:\</filename> is a good start. The zip - package expands to a foldername like <filename>php-4.3.7-Win32</filename> - which is assumed to be renamed to <filename>php</filename>. For the sake - of convenience and to be version independent, the following steps assume - your extracted version of PHP lives in <filename - class="directory">C:\php</filename>. You might choose any other location but - you probably do not want to use a path in which spaces are included. Using - a folder, like <filename class="directory">C:\Program Files\PHP</filename> - is not a good idea. Some web servers will crash if you do. The structure of - your directory you extracted the zip file will look like: - </para> - <example> - <title>PHP 4 package structure</title> - <programlisting> + server specific instructions: + </para> + <para> + Extract the distribution file to a directory of your choice, <filename + class="directory">c:\</filename> is a good start. The zip package + expands to a foldername like <filename>php-4.3.7-Win32</filename> which + is assumed to be renamed to <filename>php</filename>. For the sake of + convenience and to be version independent, the following steps assume + your extracted version of PHP lives in <filename + class="directory">C:\php</filename>. You might choose any other location + but you probably do not want to use a path in which spaces are included. + Using a folder, like <filename class="directory">C:\Program + Files\PHP</filename> is not a good idea. Some web servers will crash if + you do. The structure of your directory you extracted the zip file will + look like: + </para> + <example> + <title>PHP 4 package structure</title> + <programlisting> <![CDATA[ c:\php @@ -120,15 +120,15 @@ |-... ]]> - </programlisting> - </example> - <para> - In case you have downloaded and extracted PHP 5, it has a somewhat - different folder structure: - </para> - <example> - <title>PHP 5 package structure</title> - <programlisting> + </programlisting> + </example> + <para> + In case you have downloaded and extracted PHP 5, it has a somewhat + different folder structure: + </para> + <example> + <title>PHP 5 package structure</title> + <programlisting> <![CDATA[ c:\php @@ -185,153 +185,155 @@ |-... ]]> - </programlisting> - </example> - - <para> - Note that PHP 4 and PHP 5 for Windows both have a CGI executable, a CLI - executable and server modules, but they are located in different folders. - While PHP 4 packages have the server modules in the sapi folder, these - are included right in the PHP folder in PHP 5 distributions. The supporting - DLLs for PHP extensions are also in the main PHP 5 folder. Watch out for - the different locations of the CGI and CLI executables too! - </para> - <para> - Here is a list of server modules shipped with PHP 4 and PHP 5. - <simplelist> - <member> - <filename>sapi/php4activescript.dll (php5activescript.dll)</filename> - - <link linkend="install.windows.activescript">ActiveScript engine</link>, - allowing you to embed PHP in your Windows applications. - </member> - <member> - <filename>sapi/php4apache.dll (php5apache.dll)</filename> - Apache 1.3.x module. - </member> - <member> - <filename>sapi/php4apache2.dll (php5apache2.dll)</filename> - Apache 2.0.x module. - </member> - <member> - <filename>sapi/php4isapi.dll (php5isapi.dll)</filename> - ISAPI Module - for ISAPI compliant webservers like IIS 4.0/PWS 4.0 or newer. - </member> - <member> - <filename>sapi/php4nsapi.dll (php5nsapi.dll)</filename> - Sun/iPlanet/Netscape - server module. - </member> - <member> - <filename>sapi/php4pi3web.dll (no equivalent in PHP5)</filename> - Pi3Web server module. - </member> - <!-- TODO: servlets? --> - </simplelist> - </para> - <para> - Server modules provide significantly better performance and some more - functionality compared to the CGI binary. The CLI version is designed - to let you use PHP for command line scripting. More information about - CLI is available in the chapter about <link - linkend="features.commandline">using PHP from the command line</link>. - </para> - <warning> - <simpara> - The SAPI modules have been significantly improved in the 4.1 release, - however, you may find that you encounter possible server errors or - other server modules such as ASP failing, in older systems. - </simpara> - </warning> - - <para> - The CGI and CLI binaries, and the web server modules all require the - <filename>php4ts.dll</filename> (<filename>php5ts.dll</filename>) file - to be available to them. You have to make sure, that this file can be - found by your PHP installation. The search order for this DLL is as - follows: - <simplelist> - <member> - The same directory from where <filename>php.exe</filename> is - called. In case you use a SAPI module the same directory from - where your webserver loads the dll - (e.g. <filename>php4apache.dll</filename>). - </member> - <member> - Any directory in your Windows <varname>PATH</varname> environment - variable. - </member> - </simplelist> - </para> - -<!-- - WARNING: the instructions presented below still need serious revision!!!!!!! - Refer to http://lxr.php.net/source/php-src/main/php_ini.c#262 for more information - on how the ini file is located on the system. This needs to be integrated to the - ini part too! - --> - - <para> - The best bet is to make <filename>php4ts.dll</filename> available, - regardless which interface (CGI or SAPI module) you plan to use. To do so, - you have to copy this dll to a directory on your Windows path. The best - place is your Windows system directory: - <simplelist> - <member> - <filename class="directory">C:\Windows\System</filename> for Windows 9x/ME - </member> - <member> - <filename class="directory">C:\WINNT\System32</filename> for Windows NT/2000 or - <filename class="directory">C:\WINNT40\System32</filename> for NT/2000 server - </member> - <member> - <filename class="directory">C:\Windows\System32</filename> for Windows XP - </member> - </simplelist> - If you plan to use a SAPI module from <filename class="directory">c:\php\sapi</filename> - and do not like to copy dlls to your Windows system directory, you have - the alternative choice to simply copy <filename>php4ts.dll</filename> to - the sapi folder of your extracted zip package, - <filename class="directory">c:\php\sapi</filename>. - </para> - </listitem> - <listitem> - <para> - The next step is to set up a valid configuration file for PHP, &php.ini;. - There are two ini files distributed in the zip file, - <filename>php.ini-dist</filename> and - <filename>php.ini-recommended</filename>. We advise you to use - <filename>php.ini-recommended</filename>, because we optimized the - default settings in this file for performance, and security. Read this - well documented file carefully and in addition study the - <link linkend="configuration.file">ini settings</link> and set every - element manually yourself. If you would like to achieve the best - security, then this is the way for you, although PHP works fine with - these default ini files. Copy your chosen ini-file to a directory where - PHP is able to find and rename it to &php.ini;. By default PHP searches - &php.ini; in your Windows directory: - <simplelist> - <member> - On Windows 9x/ME/XP copy your chosen ini file to your - <filename> %WINDIR%</filename>, which is typically - <filename class="directory">C:\Windows</filename>. - </member> - <member> - On Windows NT/2000 copy your chosen ini file to your - <filename>%WINDIR%</filename> or <filename>%SYSTEMROOT%</filename>, - which is typically <filename class="directory">C:\WINNT</filename> or - <filename class="directory">C:\WINNT40</filename> for NT/2000 servers. - </member> - </simplelist> - </para> - </listitem> - <listitem> - <simpara> - If you're using NTFS on Windows NT, 2000 or XP, make sure that - the user running the webserver has read permissions to your - &php.ini; (e.g. make it readable by Everyone). - </simpara> - </listitem> + </programlisting> + </example> + <para> + Note that PHP 4 and PHP 5 for Windows both have a CGI executable, a CLI + executable and server modules, but they are located in different folders. + While PHP 4 packages have the server modules in the sapi folder, these + are included right in the PHP folder in PHP 5 distributions. The + supporting DLLs for PHP extensions are also in the main PHP 5 folder. + </para> + <note> + <para> + In PHP 4, you should move all files located in the <filename + class="directory">dll</filename> folder to the main folder. + </para> + </note> + <para> + Here is a list of server modules shipped with PHP 4 and PHP 5: + <itemizedlist> + <listitem><para> + <filename>sapi/php4activescript.dll (php5activescript.dll)</filename> + - <link linkend="install.windows.activescript">ActiveScript + engine</link>, allowing you to embed PHP in your Windows + applications. + </para></listitem> + <listitem><para> + <filename>sapi/php4apache.dll (php5apache.dll)</filename> - Apache 1.3.x module. + </para></listitem> + <listitem><para> + <filename>sapi/php4apache2.dll (php5apache2.dll)</filename> - Apache 2.0.x module. + </para></listitem> + <listitem><para> + <filename>sapi/php4isapi.dll (php5isapi.dll)</filename> - ISAPI Module + for ISAPI compliant webservers like IIS 4.0/PWS 4.0 or newer. + </para></listitem> + <listitem><para> + <filename>sapi/php4nsapi.dll (php5nsapi.dll)</filename> - Sun/iPlanet/Netscape + server module. + </para></listitem> + <listitem><para> + <filename>sapi/php4pi3web.dll (no equivalent in PHP 5)</filename> - Pi3Web server module. + </para></listitem> + <!-- TODO: servlets? --> + </itemizedlist> + </para> + <para> + Server modules provide significantly better performance and some more + functionality compared to the CGI binary. The CLI version is designed to + let you use PHP for command line scripting. More information about CLI is + available in the chapter about <link linkend="features.commandline">using + PHP from the command line</link>. + </para> + <warning> + <simpara> + The SAPI modules have been significantly improved in the 4.1 release, + however, you may find that you encounter possible server errors or other + server modules such as ASP failing, in older systems. + </simpara> + </warning> + <para> + The CGI and CLI binaries, and the web server modules all require the + <filename>php4ts.dll</filename> (<filename>php5ts.dll</filename>) file to + be available to them. You have to make sure, that this file can be found + by your PHP installation. The search order for this DLL is as follows: + <itemizedlist> + <listitem><para> + The same directory from where <filename>php.exe</filename> is called. + In case you use a SAPI module, the webserver's directory (e.g. + <filename>C:\Program Files\Apache Group\Apache2\bin</filename>). + </para></listitem> + <listitem><para> + Any directory in your Windows <varname>PATH</varname> environment + variable. + </para></listitem> </itemizedlist> </para> <para> - The following steps are optional. - <itemizedlist> + To make <filename>php4ts.dll</filename> / <filename>php5ts.dll</filename> + available you have three options: copy the file to the Windows system + directory, copy the file to the webserver's directory, or add your PHP + directory, <filename class="directory">C:\php</filename> to the + <varname>PATH</varname>. For better maintenance, we advise you to follow + the last option, add <filename class="directory">C:\php</filename> to the + <varname>PATH</varname>, because it will be simpler to upgrade PHP in the + future. Read more about how to add your PHP directory to + <varname>PATH</varname> in the <link + linkend="faq.installation.addtopath">corresponding FAQ entry</link>. + </para> + <para> + The next step is to set up a valid configuration file for PHP, &php.ini;. + There are two ini files distributed in the zip file, + <filename>php.ini-dist</filename> and + <filename>php.ini-recommended</filename>. We advise you to use + <filename>php.ini-recommended</filename>, because we optimized the + default settings in this file for performance, and security. Read this + well documented file carefully and in addition study the <link + linkend="configuration.file">ini settings</link> and set every element + manually yourself. If you would like to achieve the best security, then + this is the way for you, although PHP works fine with these default ini + files. Copy your chosen ini-file to a directory where PHP is able to find + and rename it to &php.ini;. PHP searches for &php.ini; in the following + places (in order): + <itemizedlist> + <listitem><para> + PHPIniDir directive (Apache 2 module only) + </para></listitem> + <listitem><para> + <literal>HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath</literal> + </para></listitem> + <listitem><para> + <varname>PHPRC</varname> enviroment variable + </para></listitem> + <listitem><para> + Directory of PHP (for CLI) or the webserver's dir (for SAPI modules) + </para></listitem> + <listitem><para> + Windows directory (<filename class="directory">C:\windows</filename> or + <filename class="directory">C:\winnt</filename>) + </para></listitem> + </itemizedlist> + </para> + <para> + If you are running Apache 2, the simpler option is to use the PHPIniDir + directive (read the <link linkend="install.windows.apache2">installation + on Apache 2</link> page), otherwise your best option is to edit the + registry (but be carefull!). On Apache 1, you may want to use the SetEnv + directive to set the <varname>PHPRC</varname> variable (read more at + the <link linkend="install.windows.apache1">installation on Apache 1</link> + page. + </para> + <para> + To edit the registry (at your own risk) go to the start menu and choose + Run. There type 'regedit' (without quotes) and press OK. Navigate through + the registry to HKEY_LOCAL_MACHINE\SOFTWARE, click with the right button + of the mouse in SOFTWARE, and choose New->Key. Enter PHP as name. On + the right pane, click with the right button of the mouse and choose + New->String Value. Enter <literal>IniFilePath</literal> as value and + double-click on it. Then enter the directory where the &php.ini; file is + located, press OK and exit from the Registry Editor. + </para> + <note> + <simpara> + If you're using NTFS on Windows NT, 2000, XP or 2003, make sure that the + user running the webserver has read permissions to your &php.ini; (e.g. + make it readable by Everyone). + </simpara> + </note> + <para> + The following steps are optional: + <itemizedlist> <listitem> <para> Edit your new &php.ini; file. http://cvs.php.net/diff.php/phpdoc/en/faq/installation.xml?r1=1.30&r2=1.31&ty=u Index: phpdoc/en/faq/installation.xml diff -u phpdoc/en/faq/installation.xml:1.30 phpdoc/en/faq/installation.xml:1.31 --- phpdoc/en/faq/installation.xml:1.30 Wed Jun 16 09:09:37 2004 +++ phpdoc/en/faq/installation.xml Mon Aug 2 17:33:03 2004 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.30 $ --> +<!-- $Revision: 1.31 $ --> <chapter id="faq.installation"> <title>Installation</title> <titleabbrev>Installation</titleabbrev> @@ -559,6 +559,68 @@ then be sure to restart your web server after making changes to &php.ini; </para> + </answer> + </qandaentry> + + <qandaentry id="faq.installation.addtopath"> + <question> + <para> + How do I add my PHP directory to the <varname>PATH</varname> + on Windows? + </para> + </question> + <answer> + <para> + On Windows NT, 2000, XP and 2003: + <itemizedlist> + <listitem><para> + Got to Control Panel and open the System icon (Start -> Settings + -> Control Panel -> System, or just Start -> Control Panel + -> System for Windows XP/2003) + </para></listitem> + <listitem><para> + Go to the Advanced tab + </para></listitem> + <listitem><para> + Click on the 'Environment Variables' button + </para></listitem> + <listitem><para> + Look into the 'System Variables' pane + </para></listitem> + <listitem><para> + Find the Path entry (you may need to scroll to find it) + </para></listitem> + <listitem><para> + Double click on the Path entry + </para></listitem> + <listitem><para> + Enter your PHP directory ant the end, including ';' before (e.g. + <literal>;C:\php</literal>) + </para></listitem> + <listitem><para> + Press OK and restart your computer + </para></listitem> + </itemizedlist> + </para> + <para> + On Windows 98/Me you need to edit the <filename>autoexec.bat</filename> + file: + <itemizedlist> + <listitem><para> + Open the Notepad (Start->Run and enter notepad) + </para></listitem> + <listitem><para> + Open the <filename>C:\autoexec.bat</filename> file + </para></listitem> + <listitem><para> + Locate the line with PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... and add: + <literal>;C:\php</literal> to the end of the line + </para></listitem> + <listitem><para> + Save the file and restart your computer + </para></listitem> + </itemizedlist> + </para> </answer> </qandaentry> </qandaset>