mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-15 16:38:54 +00:00
172 lines
5.3 KiB
XML
172 lines
5.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<chapter xml:id="install.unix" xmlns="http://docbook.org/ns/docbook">
|
|
<title>Installation on Unix systems</title>
|
|
<para>
|
|
This section will guide you through the general configuration and
|
|
installation of PHP on Unix systems. Be sure to investigate any
|
|
sections specific to your platform or web server before you begin
|
|
the process.
|
|
</para>
|
|
<para>
|
|
As our manual outlines in the <link linkend="install.general">General
|
|
Installation Considerations</link> section, we are mainly dealing with
|
|
web centric setups of PHP in this section, although we will cover
|
|
setting up PHP for command line usage as well.
|
|
</para>
|
|
<para>
|
|
There are several ways to install PHP for the Unix platform, either
|
|
with a compile and configure process, or through various
|
|
pre-packaged methods. This documentation is mainly focused around
|
|
the process of compiling and configuring PHP. Many Unix like systems
|
|
have some sort of package installation system. This can 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 web server.
|
|
If you are unfamiliar with building and compiling your own software,
|
|
it is worth checking to see whether somebody has already built a
|
|
packaged version of PHP with the features you need.
|
|
</para>
|
|
<para>
|
|
Prerequisite knowledge and software for compiling:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Basic Unix skills (being able to operate "make" and a C
|
|
compiler)
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
An ANSI C compiler
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
A web server
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Any module specific components (such as <acronym>GD</acronym>,
|
|
<acronym>PDF</acronym> libs, etc.)
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
When building directly from Git sources or after custom modifications you
|
|
might also need:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
autoconf: 2.59+ (for PHP >= 7.0.0), 2.64+ (for PHP >= 7.2.0)
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
automake: 1.4+
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
libtool: 1.4.x+ (except 1.4.2)
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
re2c: 0.13.4+
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
bison:
|
|
</simpara>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
PHP 7.0 - 7.3: 2.4 or later (including Bison 3.x)
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
PHP 7.4: > 3.0
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
The initial PHP setup and configuration process is controlled by the
|
|
use of the command line options of the <command>configure</command>
|
|
script. You could get a list of all available options along with short
|
|
explanations running <command>./configure --help</command>.
|
|
Our manual documents the different options separately. You will
|
|
find the <link linkend="configure.about">core options in the appendix</link>,
|
|
while the different extension specific options are described on the
|
|
reference pages.
|
|
</para>
|
|
|
|
<para>
|
|
When PHP is configured, you are ready to build the module and/or
|
|
executables. The command <command>make</command> should
|
|
take care of this. If it fails and you can't figure out why, see
|
|
the <link linkend="install.problems">Problems section</link>.
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
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,
|
|
however, necessary for PCRE's JIT support, so either PHP has to be built
|
|
<link linkend="pcre.installation">without PCRE's JIT support</link>, or the
|
|
binary has to be whitelisted by any means provided by the system.
|
|
</para>
|
|
</note>
|
|
|
|
<note>
|
|
<simpara>
|
|
Cross-compiling for ARM with the Android toolchain is currently not supported.
|
|
</simpara>
|
|
</note>
|
|
|
|
<!-- web server specific nodes -->
|
|
&install.unix.apache1;
|
|
&install.unix.apache2;
|
|
&install.unix.nginx;
|
|
&install.unix.lighttpd-14;
|
|
&install.unix.litespeed;
|
|
&install.unix.commandline;
|
|
<!-- operating system specific nodes -->
|
|
&install.unix.hpux;
|
|
&install.unix.openbsd;
|
|
&install.unix.solaris;
|
|
<!-- distribution specific nodes -->
|
|
&install.unix.debian;
|
|
|
|
</chapter>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|