This
post tutorial contains instructions for manually installing and configuring PHP
on Microsoft Windows.
Download
the PHP zip binary distribution from » PHP
for Windows: Binaries and Sources. There are several different
versions of the zip package - to choose the right version for you, follow the
detailed guide on the» download page.
Unpack
the content of the zip archive into a directory of your choice, for example
C:\PHP\. The directory and file structure extracted from the zip will look as
below:
Example
#1 PHP 5 package structure
c:\php
|
+--dev
| |
|
|-php5ts.lib --
php5.lib in non thread safe version
|
+--ext -- extension DLLs for
PHP
| |
| |-php_bz2.dll
| |
|
|-php_cpdf.dll
| |
|
|-...
|
+--extras -- empty
|
+--pear -- initial copy of
PEAR
|
|
|-go-pear.bat -- PEAR setup script
|
|-...
|
|-php-cgi.exe -- CGI executable
|
|-php-win.exe -- executes scripts without
an opened command prompt
|
|-php.exe -- Command line PHP
executable (CLI)
|
|-...
|
|-php.ini-development -- default php.ini settings
|
|-php.ini-production -- recommended php.ini settings
|
|-php5apache2_2.dll -- does not exist in non thread
safe version
|
|-php5apache2_2_filter.dll -- does not exist in non thread safe
version
|
|-...
|
|-php5ts.dll -- core PHP DLL ( php5.dll
in non thread safe version)
|
|-...
Below
is the list of the modules and executables included in the PHP zip
distribution:
- go-pear.bat - the PEAR setup script.
Refer to » Installation (PEAR) for
more details.
- php-cgi.exe - CGI executable that
can be used when running PHP on IIS via CGI or FastCGI.
- php-win.exe - the PHP executable for
executing PHP scripts without using a command line window (for example PHP
applications that use Windows GUI).
- php.exe - the PHP executable for
executing PHP scripts within a command line interface (CLI).
- php5apache2_2.dll - Apache 2.2.X module.
- php5apache2_2_filter.dll - Apache 2.2.X filter.
After
the php package content has been extracted, copy the php.ini-production into php.ini in the same folder. If
necessary, it is also possible to place the php.ini into
any other location of your choice but that will require additional
configuration steps as described in PHP
Configuration.
The php.ini file tells PHP how to
configure itself, and how to work with the environment that it runs in. Here
are a number of settings for the php.ini file that help PHP work
better with Windows. Some of these are optional. There are many other
directives that may be relevant to your environment - refer to the list
of php.ini directivesfor more information.
Required
directives:
- extension_dir = <path to
extension directory> - The extension_dir needs to point to the
directory where PHP extensions files are stored. The path can be absolute
(i.e. "C:\PHP\ext") or relative (i.e. ".\ext").
Extensions that are listed lower in the php.ini file need to be located
in the extension_dir.
- extension = xxxxx.dll -
For each extension you wish to enable, you need a corresponding
"extension=" directive that tells PHP which extensions in the extension_dir to load at startup time.
- log_errors = On -
PHP has an error logging facility that can be used to send errors to a
file, or to a service (i.e. syslog) and works in conjunction with the error_log directive below. When
running under IIS, thelog_errors should be enabled, with a valid error_log.
- error_log = <path to
the error log file> - The error_log needs to specify the
absolute, or relative path to the file where PHP errors should be logged.
This file needs to be writable for the web server. The most common places
for this file are in various TEMP directories, for example
"C:\inetpub\temp\php-errors.log".
- cgi.force_redirect = 0 -
This directive is required for running under IIS. It is a directory
security facility required by many other web servers. However, enabling it
under IIS will cause the PHP engine to fail on Windows.
- cgi.fix_pathinfo = 1 -
This lets PHP access real path info following the CGI Spec. The IIS
FastCGI implementation needs this set.
- fastcgi.impersonate = 1 -
FastCGI under IIS supports the ability to impersonate security tokens of
the calling client. This allows IIS to define the security context that
the request runs under.
- fastcgi.logging = 0 -
FastCGI logging should be disabled on IIS. If it is left enabled, then any
messages of any class are treated by FastCGI as error conditions which
will cause IIS to generate an HTTP 500 exception.
Optional directives
- max_execution_time = ## -
This directive tells PHP the maximum amount of time that it can spend
executing any given script. The default for this is 30 seconds. Increase
the value of this directive if PHP application take long time to execute.
- memory_limit = ###M -
The amount of memory available for the PHP process, in Megabytes. The
default is 128, which is fine for most PHP applications. Some of the more
complex ones might need more.
- display_errors = Off -
This directive tells PHP whether to include any error messages in the stream
that it returns to the Web server. If this is set to "On", then
PHP will send whichever classes of errors that you define with the error_reporting directive back to web
server as part of the error stream. For security reasons it is recommended
to set it to "Off" on production servers in order not to reveal
any security sensitive information that is often included in the error
messages.
- open_basedir = <paths to
directories, separated by semicolon>, e.g.
openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". This directive
specified the directory paths where PHP is allowed to perform file system
operations. Any file operation outside of the specified paths will result
in an error. This directive is especially useful for locking down the PHP
installation in shared hosting environments to prevent PHP scripts from
accessing any files outside of the web site's root directory.
- upload_max_filesize = ###M and post_max_size = ###M -
The maximum allowed size of an uploaded file and post data respectively.
The values of these directives should be increased if PHP applications
need to perform large uploads, such as for example photos or video files.
PHP
is now setup on your system. The next step is to choose a web server, and
enable it to run PHP. Choose a web server from the table of contents.
In
addition to running PHP via a web server, PHP can run from the command line
just like a .BAT script. SeeCommand Line PHP on Microsoft Windows for
further details.
Reposted from PHP Manual Install
! Note:
This article/video is not intellectual property of PHP blog
Owner of this article/video/tutorial is given full credit at the end of post.
We respect copyright laws & hard work of intellectual owners. If you are
owner of this information provided above, &, want it removed from here,
Kindly let us know,
we will remove it.
Contact Us
Contact Us
No comments:
Post a Comment