Installing from source on Unix and macOS systems
Prerequisite software for compiling:
-
» GNU make
-
A C compiler (as of PHP 8.0.0, C99 compatibility is required; as of PHP 8.4.0, C11 compatibility is required)
-
A web server
-
Any module specific components (such as GD,
PDF libs, etc.)
When building directly from Git sources or after custom modifications,
these additional tools may be necessary:
-
» autoconf:
-
PHP 7.3 and later: 2.68+
-
PHP 7.2: 2.64+
-
PHP 7.1 and earlier: 2.59+
-
» re2c:
-
PHP 8.3 and later: 1.0.3+
-
PHP 8.2 and earlier: 0.13.4+
-
» bison:
-
PHP 7.4 and later: 3.0.0+
-
PHP 7.3 and earlier: 2.4+ (including Bison 3.x)
The initial PHP setup and configuration process is controlled by the
use of the command line options of the configure
script. A list of available options along with short explanations can
be shown by running ./configure --help.
This manual documents the different options separately.
The core options can be found in the
appendix, while the different extension specific options are
described on the reference pages.
After the configuration script was been run, PHP can be built using
the make command.
The Installation section of the
frequently asked questions has further information about how
to handle build problems.
Note:
Some Unix systems (such as OpenBSD and SELinux) may disallow mapping
pages both writable and executable for security reasons, what is called
» PaX MPROTECT
or » W^X violation
protection.
This kind of memory mapping is necessary for PCRE's JIT support, so
either PHP has to be built without
PCRE's JIT support, or the binary has to be whitelisted by
any means provided by the system.
Note:
Cross-compiling for ARM with the Android toolchain is currently not supported.