source: general/prog/php.xml@ b2a5557

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 b2a5557 was 1039de3, checked in by Randy McMurchy <randy@…>, 18 years ago

Added the 'User Notes' wiki link to each package page; changed all instances of .[so,a] to .{so,a} (brackets changed to braces); changed all replaceable tags to use angle brackets instead of square brackets to encapsulate the text - commit #3

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5831 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 "79cee17e9db85be878000a2a4198378e">
10 <!ENTITY php-size "6.3 MB">
11 <!ENTITY php-buildsize "213 MB (includes installing all documentation)">
12 <!ENTITY php-time "2.6 SBU (additional 1.5 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 <xref linkend="x-window-system"/>,
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 <para condition="html" role="usernotes">User Notes:
148 <ulink url="&blfs-wiki;/php"/></para>
149
150 </sect2>
151
152 <sect2 role="installation">
153 <title>Installation of PHP</title>
154
155 <note>
156 <para>You can use <application>PHP</application>
157 for server-side scripting, command-line scripting or client-side
158 GUI applications. This book provides instructions for
159 setting up <application>PHP</application> for
160 server-side scripting as it is the most common form.</para>
161 </note>
162
163 <!-- Commenting this out for now as BDB is built in LFS
164
165 <para>If you have <application>Berkeley DB</application> installed and
166 wish to utilize it, apply the following patch:</para>
167
168<screen><userinput>patch -Np1 -i ../php-&php-version;-db43-1.patch</userinput></screen>
169
170 -->
171
172 <note>
173 <para><application>PHP</application> has many more
174 <command>configure</command> options that will enable support for various
175 things. You can use <command>./configure --help</command> to see a full
176 list of the available options. Also, use of the
177 <ulink url="http://www.php.net/">PHP web site</ulink>
178 is highly recommended, as their online docs are very good.</para>
179
180 <para>If, for whatever reason, you don't have <xref linkend="libxml2"/>
181 installed, you need to add <option>--disable-libxml</option> to the
182 <command>configure</command> command in the instructions below. This
183 will prevent the <command>pear</command> command from being built.</para>
184 </note>
185
186 <!-- Commenting this out as libxml is a recommended dependency.
187 Current protocol in the book is to expect folks to have it
188 installed and the note above should take care of it.
189
190 <para>Remove the <parameter>-disable-libxml</parameter> switch if you
191 have <xref linkend="libxml2"/> installed otherwise
192 <command>pear</command> will not be built.</para>
193 -->
194
195 <para>Install <application>PHP</application> by
196 running the following commands:</para>
197
198<screen><userinput>patch -Np1 -i ../php-&php-version;-db43-1.patch &amp;&amp;
199./configure --prefix=/usr \
200 --sysconfdir=/etc \
201 --with-apxs2 \
202 --with-config-file-path=/etc \
203 --with-zlib \
204 --enable-bcmath \
205 --with-bz2 \
206 --enable-calendar \
207 --enable-dba \
208 --enable-exif \
209 --enable-ftp \
210 --with-gettext \
211 --enable-mbstring \
212 --with-ncurses \
213 --with-readline &amp;&amp;
214make</userinput></screen>
215
216 <para>To test the results, issue: <command>make test</command>. Three of
217 the tests are known to fail.</para>
218
219 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
220
221<screen role="root"><userinput>make install &amp;&amp;
222install -v -m644 php.ini-recommended /etc/php.ini &amp;&amp;
223install -v -m755 -d /usr/share/doc/php-&php-version; &amp;&amp;
224install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS \
225 README* TODO* UPGRADING php.gif \
226 /usr/share/doc/php-&php-version; &amp;&amp;
227ln -v -s /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
228 /usr/share/doc/php-&php-version;</userinput></screen>
229
230 <para>The pre-built HTML documentation is packaged in two forms: a tarball
231 containing many individual files, useful for quick loading into your
232 browser, and one large individual file, which is useful for using the
233 search utility of your browser. If you downloaded either, or both, of the
234 documentation files, issue the following commands as the
235 <systemitem class='username'>root</systemitem> user to install them (note
236 these instructions assume English docs, modify the tarball names below if
237 necessary).</para>
238
239 <para>For the <quote>Single HTML</quote> file:</para>
240
241<screen role="root"><userinput>install -v -m644 ../php_manual_en.html.gz \
242 /usr/share/doc/php-&php-version; &amp;&amp;
243gunzip -v /usr/share/doc/php-&php-version;/php_manual_en.html.gz</userinput></screen>
244
245 <para>For the <quote>Many HTML files</quote> tarball:</para>
246
247<screen role="root"><userinput>tar -xvf ../php_manual_en.tar.gz -C /usr/share/doc/php-&php-version; &amp;&amp;
248chown -v -R root:root /usr/share/doc/php-&php-version;/html</userinput></screen>
249
250 </sect2>
251
252 <sect2 role="commands">
253 <title>Command Explanations</title>
254
255 <para><parameter>--with-apxs2</parameter>: This parameter
256 builds the Apache HTTPD 2.0 module.</para>
257
258 <para><parameter>--with-config-file-path=/etc</parameter>: This parameter
259 makes <application>PHP</application> look for the
260 <filename>php.ini</filename> configuration file in
261 <filename class='directory'>/etc</filename>.</para>
262
263 <para><parameter>--with-zlib</parameter>: This parameter adds
264 support for <application>Zlib</application> compression.</para>
265
266 <para><parameter>--enable-bcmath</parameter>: Enables
267 <command>bc</command> style precision math functions.</para>
268
269 <para><parameter>--with-bz2</parameter>: Adds support for
270 <application>Bzip2</application> compression functions.</para>
271
272 <para><parameter>--enable-calendar</parameter>: This parameter
273 provides support for calendar conversion.</para>
274
275 <para><parameter>--enable-dba</parameter>: This parameter enables
276 support for database (dbm-style) abstraction layer functions.</para>
277
278 <para><parameter>--enable-exif</parameter>: Enables functions
279 to access metadata from images.</para>
280
281 <para><parameter>--enable-ftp</parameter>: This parameter
282 enables FTP functions.</para>
283
284 <para><parameter>--with-gettext</parameter>: Enables functions
285 that use <application>Gettext</application> text translation.</para>
286
287 <para><parameter>--enable-mbstring</parameter>: This parameter
288 enables multibyte string support.</para>
289
290 <para><parameter>--with-ncurses</parameter>: Provides ncurses
291 terminal independent cursor handling.</para>
292
293 <para><parameter>--with-readline</parameter>: This parameter
294 enables command line <application>Readline</application> support.</para>
295
296 <para><parameter>--disable-libxml</parameter>: This parameter
297 allows building PHP without <application>libxml2</application>
298 installed.</para>
299
300 </sect2>
301
302 <sect2 role="configuration">
303 <title>Configuring PHP</title>
304
305 <sect3 id="php-config">
306 <title>Config Files</title>
307
308 <para><filename>/etc/php.ini</filename> and
309 <filename>/etc/pear.conf</filename></para>
310
311 <indexterm zone="php php-config">
312 <primary sortas="e-etc-php.ini">/etc/php.ini</primary>
313 </indexterm>
314
315 <indexterm zone="php php-config">
316 <primary sortas="e-etc-pear.conf">/etc/pear.conf</primary>
317 </indexterm>
318
319 </sect3>
320
321 <sect3>
322 <title>Configuration Information</title>
323
324 <para>You may have noticed the following from the output of the
325 <command>make install</command> command:</para>
326
327<screen><computeroutput>You may want to add: /usr/lib/php to your php.ini include_path</computeroutput></screen>
328
329 <para>If desired, add the entry using the following command as the
330 <systemitem class="username">root</systemitem> user:</para>
331
332<screen role="root"><userinput>sed -i 's@php/includes"@&amp;\ninclude_path = ".:/usr/lib/php"@' \
333 /etc/php.ini</userinput></screen>
334
335 <para>To enable PHP support in the <application>Apache</application>
336 web server, a new LoadModule (which should be handled automatically by the
337 <command>make install</command> command) and AddType directives
338 must be added to the <filename>httpd.conf</filename> file:</para>
339
340<screen><literal>LoadModule php5_module lib/apache/libphp5.so
341AddType application/x-httpd-php .php</literal></screen>
342
343 <para>Also, it can be useful to add an entry for
344 <filename>index.php</filename> to the DirectoryIndex directive of the
345 <filename>httpd.conf</filename> file.</para>
346
347 <para>You'll need to restart the <application>Apache</application> web server
348 after making any modifications to the <filename>httpd.conf</filename>
349 file.</para>
350
351 </sect3>
352
353 </sect2>
354
355 <sect2 role="content">
356 <title>Contents</title>
357
358 <segmentedlist>
359 <segtitle>Installed Programs</segtitle>
360 <segtitle>Installed Library</segtitle>
361 <segtitle>Installed Directories</segtitle>
362
363 <seglistitem>
364 <seg>pear, php, php-config, phpextdist, and phpize</seg>
365 <seg>libphp5.so</seg>
366 <seg>/usr/include/php, /usr/lib/php and
367 /usr/share/doc/php-&php-version;</seg>
368 </seglistitem>
369 </segmentedlist>
370
371 <variablelist>
372 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
373 <?dbfo list-presentation="list"?>
374 <?dbhtml list-presentation="table"?>
375
376 <varlistentry id="php-prog">
377 <term><command>php</command></term>
378 <listitem>
379 <para>is a command line interface that enables you to parse and
380 execute PHP code.</para>
381 <indexterm zone="php php-prog">
382 <primary sortas="b-php">php</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="pear">
388 <term><command>pear</command></term>
389 <listitem>
390 <para>is the PHP Extension and Application
391 Repository (PEAR) package manager.</para>
392 <indexterm zone="php pear">
393 <primary sortas="b-pear">pear</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 </variablelist>
399
400 </sect2>
401
402</sect1>
Note: See TracBrowser for help on using the repository browser.