source: general/prog/php.xml@ 3735050

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 3735050 was 3f87e4a, checked in by Randy McMurchy <randy@…>, 18 years ago

Removed the Berkeley DB dependency from packages utilizing it as BDB is now built in LFS

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5536 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 15.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY php-download-http "http://us2.php.net/distributions/php-&php-version;.tar.bz2">
8 <!ENTITY php-download-ftp "ftp://ftp.isu.edu.tw/pub/Unix/Web/PHP/distributions/php-&php-version;.tar.bz2">
9 <!ENTITY php-md5sum "70a7c90de182d1a1901c390b844153c7">
10 <!ENTITY php-size "6.1 MB">
11 <!ENTITY php-buildsize "204 MB (includes installing all documentation)">
12 <!ENTITY php-time "2.5 SBU (additional 1.7 SBU to run the test suite)">
13]>
14
15<sect1 id="php" xreflabel="PHP-&php-version;">
16 <?dbhtml filename="php.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 <keywordset>
22 <keyword role="package">php-&php-version;.tar</keyword>
23 <keyword role="ftpdir">php</keyword>
24 </keywordset>
25 </sect1info>
26
27 <title>PHP-&php-version;</title>
28
29 <indexterm zone="php">
30 <primary sortas="a-PHP">PHP</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to PHP</title>
35
36 <para><application>PHP</application> is the PHP Hypertext Preprocessor.
37 Primarily used in dynamic web sites, it allows for programming code to be
38 directly embedded into the HTML markup.</para>
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>Download (HTTP): <ulink url="&php-download-http;"/></para>
44 </listitem>
45 <listitem>
46 <para>Download (FTP): <ulink url="&php-download-ftp;"/></para>
47 </listitem>
48 <listitem>
49 <para>Download MD5 sum: &php-md5sum;</para>
50 </listitem>
51 <listitem>
52 <para>Download size: &php-size;</para>
53 </listitem>
54 <listitem>
55 <para>Estimated disk space required: &php-buildsize;</para>
56 </listitem>
57 <listitem>
58 <para>Estimated build time: &php-time;</para>
59 </listitem>
60 </itemizedlist>
61
62 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
63 <itemizedlist spacing="compact">
64 <listitem>
65 <para>Required patch for Berkeley DB: <ulink
66 url="&patch-root;/php-&php-version;-db43-1.patch"/></para>
67 </listitem>
68 <listitem>
69 <para>Pre-built documentation (optional): <ulink
70 url="http://www.php.net/download-docs.php"/></para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">PHP Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Required</bridgehead>
77 <para role="required"><xref linkend="apache"/></para>
78
79 <bridgehead renderas="sect4">Recommended</bridgehead>
80 <para role="recommended"><xref linkend="libxml2"/></para>
81
82 <bridgehead renderas="sect4">Optional System Utilities and Libraries</bridgehead>
83 <para role="optional"><xref linkend="libxslt"/>,
84 <xref linkend="gamin"/>,
85 <xref linkend="gmp"/>,
86 <xref linkend="pcre"/>,
87 <xref linkend="aspell"/>,
88 <xref linkend="pkgconfig"/>,
89 <xref linkend="expat"/> (deprecated alternative to <xref linkend="libxml2"/>),
90 <ulink url="http://www.ossp.org/pkg/lib/mm/">OSSP mm</ulink>,
91 <ulink url="http://www.net-snmp.org/">Net-SNMP</ulink>,
92 <ulink url="http://www.gnu.org/software/pth/">GNU Pth</ulink>,
93 <ulink url="http://re2c.org/">re2c</ulink>,
94 <ulink url="http://dmalloc.com/">Dmalloc</ulink>,
95 <ulink url="http://www.gnu.org/software/recode/">recode</ulink>, and
96 <xref linkend="sendmail"/> (or another
97 <ulink url="../server/mail.html">MTA</ulink> that provides a
98 <command>sendmail</command> command)</para>
99
100 <bridgehead renderas="sect4">Optional Graphics Utilities and Libraries</bridgehead>
101 <para role="optional"><xref linkend="libjpeg"/>,
102 <xref linkend="libtiff"/>,
103 <xref linkend="libpng"/>,
104 <xref linkend="libexif"/>,
105 <xref linkend="freetype2"/>,
106 X (<xref linkend="xorg"/> or <xref linkend="xfree86"/>),
107 <ulink url="http://www.fastio.com/">ClibPDF</ulink>,
108 <ulink url="http://www.boutell.com/gd/">GD</ulink>,
109 <ulink url="http://gd.tuwien.ac.at/visual/ibiblio/libs/graphics/t1lib-5.1.0.tar.gz">
110 t1lib</ulink>, and
111 <ulink url="http://partners.adobe.com/asn/acrobat/forms.jsp">FDF Toolkit</ulink></para>
112
113 <bridgehead renderas="sect4">Optional Web Utilities</bridgehead>
114 <para role="optional"><xref linkend="curl"/>,
115 <xref linkend="html-tidy"/>,
116 <ulink url="http://www.mnogosearch.org/">mnoGoSearch</ulink>,
117 <ulink url="http://www.hyperwave.com/">Hyperwave</ulink>,
118 <ulink url="http://www.roxen.com/products/webserver/">Roxen WebServer</ulink>,
119 <ulink url="http://caudium.net/">Caudium</ulink>, and
120 <ulink url="http://www.openwddx.org/">WDDX</ulink></para>
121
122 <bridgehead renderas="sect4">Optional Data Management Utilities and Libraries</bridgehead>
123 <para role="optional"><xref linkend="openldap"/>,
124 <xref linkend="gdbm"/>,
125 <!-- <xref linkend="db"/>, -->
126 <xref linkend="mysql"/>,
127 <xref linkend="postgresql"/>,
128 <xref linkend="unixodbc"/>,
129 <ulink url="http://qdbm.sourceforge.net/">QDBM</ulink>,
130 <ulink url="http://cr.yp.to/cdb.html">cdb</ulink>,
131 <ulink url="http://www.sqlite.org/">SQLite</ulink>,
132 <ulink url="http://www.hughes.com.au/products/msql/">Mini SQL</ulink>,
133 <ulink url="http://www.empress.com/">Empress</ulink>,
134 <ulink url="http://www.birdstep.com/">Birdstep</ulink>,
135 <ulink url="http://www.dbmaker.com/">DBMaker</ulink>,
136 <ulink url="http://www.softwareag.com/">Adabas</ulink>,
137 <ulink url="http://www.frontbase.com/">FrontBase</ulink>, and
138 <ulink url="http://www.mainstreetsoftworks.com/">Monetra</ulink></para>
139
140 <bridgehead renderas="sect4">Optional Security/Encryption Utilities and Libraries</bridgehead>
141 <para role="optional"><xref linkend="openssl"/>,
142 <xref linkend="cyrus-sasl"/>,
143 <xref linkend="mitkrb"/> or <xref linkend="heimdal"/>,
144 <ulink url="http://mcrypt.sourceforge.net/">libmcrypt</ulink>, and
145 <ulink url="http://mhash.sourceforge.net/">mhash</ulink></para>
146
147 </sect2>
148
149 <sect2 role="installation">
150 <title>Installation of PHP</title>
151
152 <note>
153 <para>You can use <application>PHP</application>
154 for server-side scripting, command-line scripting or client-side
155 GUI applications. This book provides instructions for
156 setting up <application>PHP</application> for
157 server-side scripting as it is the most common form.</para>
158 </note>
159
160 <!-- Commenting this out for now as BDB is built in LFS
161
162 <para>If you have <application>Berkeley DB</application> installed and
163 wish to utilize it, apply the following patch:</para>
164
165<screen><userinput>patch -Np1 -i ../php-&php-version;-db43-1.patch</userinput></screen>
166
167 -->
168
169 <note>
170 <para><application>PHP</application> has many more
171 <command>configure</command> options that will enable support for various
172 things. You can use <command>./configure --help</command> to see a full
173 list of the available options. Also, use of the
174 <ulink url="http://www.php.net/">PHP web site</ulink>
175 is highly recommended, as their online docs are very good.</para>
176
177 <para>If, for whatever reason, you don't have <xref linkend="libxml2"/>
178 installed, you need to add <option>--disable-libxml</option> to the
179 <command>configure</command> command in the instructions below. This
180 will prevent the <command>pear</command> command from being built.</para>
181 </note>
182
183 <!-- Commenting this out as libxml is a recommended dependency.
184 Current protocol in the book is to expect folks to have it
185 installed and the note above should take care of it.
186
187 <para>Remove the <parameter>-disable-libxml</parameter> switch if you
188 have <xref linkend="libxml2"/> installed otherwise
189 <command>pear</command> will not be built.</para>
190 -->
191
192 <para>Install <application>PHP</application> by
193 running the following commands:</para>
194
195<screen><userinput>patch -Np1 -i ../php-&php-version;-db43-1.patch &amp;&amp;
196./configure --prefix=/usr \
197 --sysconfdir=/etc \
198 --with-apxs2 \
199 --with-config-file-path=/etc \
200 --with-zlib \
201 --enable-bcmath \
202 --with-bz2 \
203 --enable-calendar \
204 --enable-dba \
205 --enable-exif \
206 --enable-ftp \
207 --with-gettext \
208 --enable-mbstring \
209 --with-ncurses \
210 --with-readline &amp;&amp;
211make</userinput></screen>
212
213 <para>To test the results, issue: <command>make test</command>. Three of
214 the tests are known to fail.</para>
215
216 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
217
218<screen role="root"><userinput>make install &amp;&amp;
219install -v -m644 php.ini-recommended /etc/php.ini &amp;&amp;
220install -v -m755 -d /usr/share/doc/php-&php-version; &amp;&amp;
221install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS \
222 README* TODO* UPGRADING php.gif \
223 /usr/share/doc/php-&php-version; &amp;&amp;
224ln -v -s /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
225 /usr/share/doc/php-&php-version;</userinput></screen>
226
227 <para>The pre-built HTML documentation is packaged in two forms: a tarball
228 containing many individual files, useful for quick loading into your
229 browser, and one large individual file, which is useful for using the
230 search utility of your browser. If you downloaded either, or both, of the
231 documentation files, issue the following commands as the
232 <systemitem class='username'>root</systemitem> user to install them (note
233 these instructions assume English docs, modify the tarball names below if
234 necessary).</para>
235
236 <para>For the <quote>Single HTML</quote> file:</para>
237
238<screen role="root"><userinput>install -v -m644 ../php_manual_en.html.gz \
239 /usr/share/doc/php-&php-version; &amp;&amp;
240gunzip -v /usr/share/doc/php-&php-version;/php_manual_en.html.gz</userinput></screen>
241
242 <para>For the <quote>Many HTML files</quote> tarball:</para>
243
244<screen role="root"><userinput>tar -xvf ../php_manual_en.tar.gz -C /usr/share/doc/php-&php-version; &amp;&amp;
245chown -v -R root:root /usr/share/doc/php-&php-version;/html</userinput></screen>
246
247 </sect2>
248
249 <sect2 role="commands">
250 <title>Command Explanations</title>
251
252 <para><parameter>--with-apxs2</parameter>: This parameter
253 builds the Apache HTTPD 2.0 module.</para>
254
255 <para><parameter>--with-config-file-path=/etc</parameter>: This parameter
256 makes <application>PHP</application> look for the
257 <filename>php.ini</filename> configuration file in
258 <filename class='directory'>/etc</filename>.</para>
259
260 <para><parameter>--with-zlib</parameter>: This parameter adds
261 support for <application>Zlib</application> compression.</para>
262
263 <para><parameter>--enable-bcmath</parameter>: Enables
264 <command>bc</command> style precision math functions.</para>
265
266 <para><parameter>--with-bz2</parameter>: Adds support for
267 <application>Bzip2</application> compression functions.</para>
268
269 <para><parameter>--enable-calendar</parameter>: This parameter
270 provides support for calendar conversion.</para>
271
272 <para><parameter>--enable-dba</parameter>: This parameter enables
273 support for database (dbm-style) abstraction layer functions.</para>
274
275 <para><parameter>--enable-exif</parameter>: Enables functions
276 to access metadata from images.</para>
277
278 <para><parameter>--enable-ftp</parameter>: This parameter
279 enables FTP functions.</para>
280
281 <para><parameter>--with-gettext</parameter>: Enables functions
282 that use <application>Gettext</application> text translation.</para>
283
284 <para><parameter>--enable-mbstring</parameter>: This parameter
285 enables multibyte string support.</para>
286
287 <para><parameter>--with-ncurses</parameter>: Provides ncurses
288 terminal independent cursor handling.</para>
289
290 <para><parameter>--with-readline</parameter>: This parameter
291 enables command line <application>Readline</application> support.</para>
292
293 <para><parameter>--disable-libxml</parameter>: This parameter
294 allows building PHP without <application>libxml2</application>
295 installed.</para>
296
297 </sect2>
298
299 <sect2 role="configuration">
300 <title>Configuring PHP</title>
301
302 <sect3 id="php-config">
303 <title>Config Files</title>
304
305 <para><filename>/etc/php.ini</filename> and
306 <filename>/etc/pear.conf</filename></para>
307
308 <indexterm zone="php php-config">
309 <primary sortas="e-etc-php.ini">/etc/php.ini</primary>
310 </indexterm>
311
312 <indexterm zone="php php-config">
313 <primary sortas="e-etc-pear.conf">/etc/pear.conf</primary>
314 </indexterm>
315
316 </sect3>
317
318 <sect3>
319 <title>Configuration Information</title>
320
321 <para>You may have noticed the following from the output of the
322 <command>make install</command> command:</para>
323
324<screen><computeroutput>You may want to add: /usr/lib/php to your php.ini include_path</computeroutput></screen>
325
326 <para>If desired, add the entry using the following command as the
327 <systemitem class="username">root</systemitem> user:</para>
328
329<screen role="root"><userinput>sed -i 's@php/includes"@&amp;\ninclude_path = ".:/usr/lib/php"@' \
330 /etc/php.ini</userinput></screen>
331
332 <para>To enable PHP support in the <application>Apache</application>
333 web server, a new LoadModule (which should be handled automatically by the
334 <command>make install</command> command) and AddType directives
335 must be added to the <filename>httpd.conf</filename> file:</para>
336
337<screen><literal>LoadModule php5_module lib/apache/libphp5.so
338AddType application/x-httpd-php .php</literal></screen>
339
340 <para>Also, it can be useful to add an entry for
341 <filename>index.php</filename> to the DirectoryIndex directive of the
342 <filename>httpd.conf</filename> file.</para>
343
344 <para>You'll need to restart the <application>Apache</application> web server
345 after making any modifications to the <filename>httpd.conf</filename>
346 file.</para>
347
348 </sect3>
349
350 </sect2>
351
352 <sect2 role="content">
353 <title>Contents</title>
354
355 <segmentedlist>
356 <segtitle>Installed Programs</segtitle>
357 <segtitle>Installed Library</segtitle>
358 <segtitle>Installed Directories</segtitle>
359
360 <seglistitem>
361 <seg>pear, php, php-config, phpextdist, and phpize</seg>
362 <seg>libphp5.so</seg>
363 <seg>/usr/include/php, /usr/lib/php and
364 /usr/share/doc/php-&php-version;</seg>
365 </seglistitem>
366 </segmentedlist>
367
368 <variablelist>
369 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
370 <?dbfo list-presentation="list"?>
371 <?dbhtml list-presentation="table"?>
372
373 <varlistentry id="php-prog">
374 <term><command>php</command></term>
375 <listitem>
376 <para>is a command line interface that enables you to parse and
377 execute PHP code.</para>
378 <indexterm zone="php php-prog">
379 <primary sortas="b-php">php</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
384 <varlistentry id="pear">
385 <term><command>pear</command></term>
386 <listitem>
387 <para>is the PHP Extension and Application
388 Repository (PEAR) package manager.</para>
389 <indexterm zone="php pear">
390 <primary sortas="b-pear">pear</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
395 </variablelist>
396
397 </sect2>
398
399</sect1>
Note: See TracBrowser for help on using the repository browser.