-
Notifications
You must be signed in to change notification settings - Fork 724
/
index.xml
170 lines (162 loc) · 5.21 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?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.apache2;
&install.unix.nginx;
&install.unix.lighttpd-14;
&install.unix.litespeed;
&install.unix.commandline;
<!-- operating system specific nodes -->
&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
-->