source: general/prog/php.xml@ 371ff30

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 371ff30 was 371ff30, checked in by DJ Lucas <dj@…>, 18 years ago

several cleanups-Xorg7 related

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

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