
|

|
PHP source viewer
|
PHP3 Installation Guide for Windows
|

|

|
This chapter will guide you through the configuration and
installation of PHP3. Prerequisite knowledge and software:
The source code for the latest version can be found at
http://www.php.net.
There are two ways of configuring PHP3.
Using the "setup" script that comes with PHP3. This script
asks you a series of questions (almost like the "install"
script of PHP/FI 2.0) and runs "configure" in the end. To run
this script, type ./setup.
This script will also create a file called "do-conf", this
file will contain the options passed to configure. You can
edit this file to change just a few options without having to
re-run setup. Then type ./do-conf to run
configure with the new options.
Running configure by hand. To see what options you have, type
./configure --help.
Details about some of the different configuration options are
listed below.
To build PHP3 as an Apache module, answer "yes" to "Build as an
Apache module?" (the --with-apache=DIR
option to configure) and specify the Apache distribution base
directory. If you have unpacked your Apache distribution in
/usr/local/www/apache_1.2.4,
this is your Apache distribution base directory. The default
directory is /usr/local/etc/httpd.
To build PHP3 as an fhttpd module, answer "yes" to "Build as an
fhttpd module?" (the --with-fhttpd=DIR
option to configure) and specify the fhttpd source base
directory. The default directory is /usr/local/src/fhttpd. If you are
running fhttpd, building PHP as a module will give better
performance, more control and remote execution capability.
The default is to build PHP3 as a CGI program. If you are
running a web server PHP3 has module support for, you should
generally go for that solution for performance reasons. However,
the CGI version enables Apache users to run different
PHP3-enabled pages under different user-ids. Please make sure
you read through the Security
chapter if you are going to run PHP as a CGI.
PHP3 has native support for a number of databases (as well as
ODBC):
--with-adabas=DIR
Compiles with Adabas D support. The parameter is the Adabas D
install directory and defaults to /usr/local/adabasd.
Adabas home page
--with-dbase
Enables the bundled DBase support. No external libraries are
required.
--with-filepro
Enables the bundled read-only filePro support. No external
libraries are required.
--with-msql=DIR
Enables mSQL support. The parameter to this option is the mSQL
install directory and defaults to /usr/local/Hughes. This is the
default directory of the mSQL 2.0 distribution.
configure automatically detects which mSQL
version you are running and PHP3 supports both 1.0 and 2.0, but
if you compile PHP3 with mSQL 1.0, you can only access mSQL 1.0
databases, and vice-versa.
See also mSQL Configuration
Directives in the configuration
file.
mSQL home page
--with-mysql=DIR
Enables MySQL support. The parameter to this option is the
MySQL install directory and defaults to /usr/local. This is the default
installation directory of the MySQL distribution.
See also MySQL
Configuration Directives in the configuration file.
MySQL home page
--with-iodbc=DIR
Includes iODBC support. This feature was first developed for
iODBC Driver Manager, a freely redistributable ODBC driver
manager which runs under many flavors of UNIX. The parameter to
this option is the iODBC installation directory and defaults to
/usr/local.
FreeODBC
home page
--with-openlink=DIR
Includes OpenLink ODBC support. The parameter to this option is
the OpenLink ODBC installation directory and defaults to
/usr/local/openlink.
OpenLink Software's home
page
--with-oracle=DIR
Includes Oracle support. Has been tested and should be working
at least with Oracle versions 7.0 through 7.3. The parameter is
the ORACLE_HOME directory. You do not have to
specify this parameter if your Oracle environment has been set
up.
Oracle home page
--with-pgsql=DIR
Includes PostgreSQL support. The parameter is the PostgreSQL
base install directory and defaults to /usr/local/pgsql.
See also Postgres
Configuration Directives in the configuration file.
PostgreSQL home
page
--with-solid=DIR
Includes Solid support. The parameter is the Solid install
directory and defaults to /usr/local/solid.
Solid home page
--with-sybase=DIR
Includes Sybase support. The parameter is the Sybase install
directory and defaults to /home/sybase.
See also Sybase
Configuration Directives in the configuration file.
Sybase home page
--with-sybase-ct=DIR
Includes Sybase-CT support. The parameter is the Sybase-CT
install directory and defaults to /home/sybase.
See also Sybase-CT
Configuration Directives in the configuration file.
--with-velocis=DIR
Includes Velocis support. The parameter is the Velocis install
directory and defaults to /usr/local/velocis.
Velocis home page
--with-custom-odbc=DIR
Includes support for an arbitrary custom ODBC library. The
parameter is the base directory and defaults to /usr/local.
This option implies that you have defined CUSTOM_ODBC_LIBS when
you run the configure script. You also must have a valid odbc.h
header somewhere in your include path. If you don't have one,
create it and include your specific header from there. Your
header may also require some extra definitions, particularly
when it is multiplatform. Define them in CFLAGS.
For example, you can use Sybase SQL Anywhere on QNX as
following:
CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib
-lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
--disable-unified-odbc
Disables the Unified ODBC module, which is a common interface to
all the databases with ODBC-based interfaces, such as Solid and
Adabas D. It also works for normal ODBC libraries. Has been
tested with iODBC, Solid, Adabas D and Sybase SQL
Anywhere. Requires that one (and only one) of these modules or
the Velocis module is enabled, or a custom ODBC library
specified. This option is only applicable if one of the
following options is used: --with-iodbc, --with-solid, --with-adabas, --with-velocis, or --with-custom-odbc,
See also Unified ODBC
Configuration Directives in the configuration file.
--with-ldap=DIR
Includes LDAP (Lightweight Directory Access
Protocol) support. The parameter is the LDAP base install
directory, defaults to /usr/local/ldap.
More information about LDAP can be found in RFC1777 and
RFC1778.
--enable-sysvsem
Include support for Sys V semaphores (supported by most Unix
derivates). See the Semaphore and Shared
Memory documentation for more information.
--enable-sysvshm
Include support for Sys V shared memory (supported by most Unix
derivates). See the Semaphore and
Shared Memory documentation for more information.
--with-xml
Include support for a non-validating XML parser using James
Clark's expat library. See the
XML function reference for
details.
--enable-maintainer-mode
Turns on extra dependencies and compiler warnings used by some
of the PHP3 developers.
--with-system-regex
Uses the system's regular expression library rather than the
bundled one. If you are building PHP3 as a server module, you
must use the same library when building PHP3 as when linking the
server. Enable this if the system's library provides special
features you need. It is recommended that you use the bundled
library if possible.
--with-config-file-path=DIR
The path used to look for the php3.ini
file when PHP starts up.
--with-exec-dir=DIR
Only allow running of executables in DIR when in safe mode.
Defaults to /usr/local/bin.
This option only sets the default, it may be changed with the
safe_mode_exec_dir
directive in the configuration
file later.
--disable-debug
Does not include debug information in the library or executable.
The debug information makes it easier to pinpoint bugs, so it is
a good idea to leave debug on as long as PHP3 is in alpha or
beta state.
--enable-safe-mode
Enables "safe mode" by default. This imposes several
restrictions on what PHP can do, such as opening only files
within the document root. Read the Security chapter for more more
information. CGI users should always enable secure mode. This
option only sets the default, it may be enabled or disabled with
the safe_mode directive in
the configuration file later.
--enable-track-vars
Makes PHP3 keep track of where GET/POST/cookie variables come
from in the arrays HTTP_GET_VARS, HTTP_POST_VARS and
HTTP_COOKIE_VARS. This option only sets the default, it may be
enabled or disabled with the track_vars directive in the
configuration file later.
--enable-magic-quotes
Enable magic quotes by default. This option only sets the
default, it may be enabled or disabled with the magic_quotes_runtime
directive in the configuration
file later. See also the magic_quotes_gpc and the
magic_quotes_sybase
directives.
--enable-debugger
Enables the internal PHP3 debugger support. This feature is
still in an experimental state. See also the Debugger Configuration
directives in the configuration
file.
--enable-discard-path
If this is enabled, the PHP CGI binary can safely be placed
outside of the web tree and people will not be able to
circumvent .htaccess security. Read the section in the security
chapter about this option.
--enable-bcmath
Enables bc style arbitrary precision math
functions. See also the bcmath.scale option in the
configuration file.
--enable-force-cgi-redirect
Enable the security check for internal server redirects. You
should use this if you are running the CGI version with Apache.
When using PHP as a CGI binary, PHP by default always first
checks that it is used by redirection (for example under Apache,
by using Action directives). This makes sure that the PHP
binary cannot be used to bypass standard web server
authentication procedures by calling it directly, like http://my.host/cgi-bin/php/secret/doc.html.
This example accesses http://my.host/secret/doc.html but does not
honour any security settings enforced by httpd for directory
/secret.
Not enabling option disables the check and enables bypassing httpd
security and authentication settings. Do this only if your
server software is unable to indicate that a safe redirection
was done and all your files under your document root and
user directories may be accessed by anyone.
Read the section in
the security chapter about this option.
--disable-short-tags
Disables the short form <? ?> PHP3
tags. You must disable the short form if you want to use PHP3
with XML. With short tags disabled, the only
PHP3 code tag is <?php ?>. This option
only sets the default, it may be enabled or disabled with the
short_open_tag
directive in the configuration
file later.
--enable-url-includes
Makes it possible to run code on other HTTP or FTP servers
directly from PHP3 with include(). See also the include_path option in the
configuration file.
--disable-syntax-hl
Turns off syntax highlighting.
To make the PHP3 installation look for header or library files
in different directories, modify the CPPFLAGS and
LDFLAGS environment variables, respectively. If
you are using a sensible shell, you should be able to do
LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
When PHP3 is configured, you are ready to build the CGI
executable or the PHP3 library. The command
make should take care of this. If it fails
and you can't figure out why, see the Problems section.
If you have built PHP3 as a CGI program, you may test your build
by typing make test. It is always a good idea
to test your build. This way you may catch a problem with PHP3
on your platform early instead of having to struggle with it
later.
If you have built PHP3 as a CGI program, you may benchmark your
build by typing make bench. Note that if safe
mode 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
set_time_limit() can not be used in safe
mode. Use the max_execution_time to
control this time for you own scripts. make
bench ignores the configuration file.

|

|
PHP source viewer
|
PHP3 Installation Guide for Windows
|

|

|