source: general/prog/php.xml@ adf6dd9a

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 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 adf6dd9a was adf6dd9a, checked in by Bruce Dubbs <bdubbs@…>, 11 years ago

Archive unneeded packages: pkgconfig,

bc, ibus, udev, slib, gamin, and notify-python

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

  • Property mode set to 100644
File size: 15.5 KB
RevLine 
[08254fc]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/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">
[2e4782e]9 <!ENTITY php-md5sum "456f2eb1ee36f2a277bd4cc778e720eb">
10 <!ENTITY php-size "12 MB">
11 <!ENTITY php-buildsize "358 MB">
[10dbdc5]12 <!ENTITY php-time "2.3 SBU (additional 2.9 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>
21 </sect1info>
22
23 <title>PHP-&php-version;</title>
24
25 <indexterm zone="php">
26 <primary sortas="a-PHP">PHP</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to PHP</title>
31
[7cd76d62]32 <para><application>PHP</application> is the PHP Hypertext Preprocessor.
33 Primarily used in dynamic web sites, it allows for programming code to be
[0d7900a]34 directly embedded into the HTML markup. It is also useful as a
[a5db8d2]35 general purpose scripting language.</para>
36
[13a9e84e]37 &lfs74_checked;
[db81e4cb]38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>Download (HTTP): <ulink url="&php-download-http;"/></para>
43 </listitem>
44 <listitem>
45 <para>Download (FTP): <ulink url="&php-download-ftp;"/></para>
46 </listitem>
47 <listitem>
48 <para>Download MD5 sum: &php-md5sum;</para>
49 </listitem>
50 <listitem>
51 <para>Download size: &php-size;</para>
52 </listitem>
53 <listitem>
54 <para>Estimated disk space required: &php-buildsize;</para>
55 </listitem>
56 <listitem>
57 <para>Estimated build time: &php-time;</para>
58 </listitem>
59 </itemizedlist>
60
61 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
62 <itemizedlist spacing="compact">
[b84326b7]63 <listitem>
64 <para>Pre-built documentation (optional): <ulink
65 url="http://www.php.net/download-docs.php"/></para>
66 </listitem>
[db81e4cb]67 </itemizedlist>
68
69 <bridgehead renderas="sect3">PHP Dependencies</bridgehead>
70
[2f65edb]71 <bridgehead renderas="sect4">Recommended</bridgehead>
[2e4782e]72 <para role="recommended">
73 <xref linkend="apache"/> and
74 <xref linkend="libxml2"/>
75 </para>
[2f65edb]76
[b84326b7]77 <bridgehead renderas="sect4">Optional System Utilities and Libraries</bridgehead>
[256ee72c]78 <para role="optional"><xref linkend="libxslt"/>,
[e797436]79 <!-- <xref linkend="gamin"/>, -->
[db81e4cb]80 <xref linkend="pcre"/>,
81 <xref linkend="aspell"/>,
[0fb9d5f]82 <xref linkend="enchant"/>,
[2f65edb]83 <xref linkend="expat"/> (deprecated alternative to <xref linkend="libxml2"/>),
[b3799be4]84 <ulink url="http://www.ossp.org/pkg/lib/mm/">OSSP mm</ulink>,
[db81e4cb]85 <ulink url="http://www.net-snmp.org/">Net-SNMP</ulink>,
[eab03ca]86 <xref linkend="pth"/>,
[ba1a38b]87 <ulink url="http://re2c.org/">re2c</ulink>,
[bd38f0a]88 <ulink url="http://xmlrpc-epi.sourceforge.net/main.php?t=php_about">XMLRPC-EPI</ulink>,
[a33e5398]89 <ulink url="http://dmalloc.com/">Dmalloc</ulink>, and
[7f5c97e]90 an <xref linkend="server-mail"/> (that provides a
[ba1a38b]91 <command>sendmail</command> command)</para>
[b84326b7]92
93 <bridgehead renderas="sect4">Optional Graphics Utilities and Libraries</bridgehead>
[256ee72c]94 <para role="optional"><xref linkend="libjpeg"/>,
[b84326b7]95 <xref linkend="libtiff"/>,
96 <xref linkend="libpng"/>,
[ba1a38b]97 <xref linkend="libexif"/>,
[b84326b7]98 <xref linkend="freetype2"/>,
[e77976f]99 <xref linkend="x-window-system"/>,
[b84326b7]100 <ulink url="http://www.fastio.com/">ClibPDF</ulink>,
[e4658bf]101 <ulink url="https://bitbucket.org/libgd/gd-libgd/downloads">GD</ulink>,
[41eec069]102 <ulink url="http://www.sfr-fresh.com/linux/misc/t1lib">t1lib</ulink>, and
[b84326b7]103 <ulink url="http://partners.adobe.com/asn/acrobat/forms.jsp">FDF Toolkit</ulink></para>
104
105 <bridgehead renderas="sect4">Optional Web Utilities</bridgehead>
[256ee72c]106 <para role="optional"><xref linkend="curl"/>,
[b84326b7]107 <xref linkend="html-tidy"/>,
[db81e4cb]108 <ulink url="http://www.mnogosearch.org/">mnoGoSearch</ulink>,
[b84326b7]109 <ulink url="http://www.hyperwave.com/">Hyperwave</ulink>,
[ba1a38b]110 <ulink url="http://www.roxen.com/products/webserver/">Roxen WebServer</ulink>,
[3f87e4a]111 <ulink url="http://caudium.net/">Caudium</ulink>, and
[b84326b7]112 <ulink url="http://www.openwddx.org/">WDDX</ulink></para>
113
114 <bridgehead renderas="sect4">Optional Data Management Utilities and Libraries</bridgehead>
[256ee72c]115 <para role="optional"><xref linkend="openldap"/>,
[de7f20e]116 <!-- <xref linkend="gdbm"/>, -->
117 <xref linkend="db"/>,
[b84326b7]118 <xref linkend="mysql"/>,
119 <xref linkend="postgresql"/>,
[76b19ad]120 <xref linkend="unixodbc"/>,
[8f9c757e]121 <xref linkend="sqlite"/>,
[b84326b7]122 <ulink url="http://qdbm.sourceforge.net/">QDBM</ulink>,
123 <ulink url="http://cr.yp.to/cdb.html">cdb</ulink>,
[db81e4cb]124 <ulink url="http://www.hughes.com.au/products/msql/">Mini SQL</ulink>,
125 <ulink url="http://www.empress.com/">Empress</ulink>,
126 <ulink url="http://www.birdstep.com/">Birdstep</ulink>,
127 <ulink url="http://www.dbmaker.com/">DBMaker</ulink>,
128 <ulink url="http://www.softwareag.com/">Adabas</ulink>,
[3f87e4a]129 <ulink url="http://www.frontbase.com/">FrontBase</ulink>, and
[b84326b7]130 <ulink url="http://www.mainstreetsoftworks.com/">Monetra</ulink></para>
131
[e797436]132 <para><application>PHP</application> also provides support for many
133 commercial database tools such as <application>Oracle</application>,
134 <application>SAP</application> and
135 <application>ODBC Router</application>.</para>
136
[b84326b7]137 <bridgehead renderas="sect4">Optional Security/Encryption Utilities and Libraries</bridgehead>
[256ee72c]138 <para role="optional"><xref linkend="openssl"/>,
[b84326b7]139 <xref linkend="cyrus-sasl"/>,
[7fdeb26]140 <xref linkend="mitkrb"/>,
[3f87e4a]141 <ulink url="http://mcrypt.sourceforge.net/">libmcrypt</ulink>, and
[b84326b7]142 <ulink url="http://mhash.sourceforge.net/">mhash</ulink></para>
[db81e4cb]143
[1039de3]144 <para condition="html" role="usernotes">User Notes:
145 <ulink url="&blfs-wiki;/php"/></para>
146
[db81e4cb]147 </sect2>
148
149 <sect2 role="installation">
150 <title>Installation of PHP</title>
151
[e797436]152 <para>You can use <application>PHP</application> for server-side
153 scripting, command-line scripting or client-side GUI applications. This
154 book provides instructions for setting up <application>PHP</application>
155 for server-side scripting as it is the most common form.</para>
[db81e4cb]156
[b84326b7]157 <note>
158 <para><application>PHP</application> has many more
[ba1a38b]159 <command>configure</command> options that will enable support for various
[b84326b7]160 things. You can use <command>./configure --help</command> to see a full
161 list of the available options. Also, use of the
162 <ulink url="http://www.php.net/">PHP web site</ulink>
[e797436]163 is highly recommended, as their online docs are very good. An example of
164 a <command>configure</command> command that utilizes many of the most
165 common dependencies can be found at <ulink
[4e88613]166 url="&files-anduin;/php_configure.txt"/>.
[e797436]167 </para>
[3f87e4a]168
169 <para>If, for whatever reason, you don't have <xref linkend="libxml2"/>
170 installed, you need to add <option>--disable-libxml</option> to the
[e797436]171 <command>configure</command> command in the instructions below. Note that
172 this will prevent the <command>pear</command> command from being
173 built.</para>
[b84326b7]174 </note>
175
[db81e4cb]176 <para>Install <application>PHP</application> by
177 running the following commands:</para>
178
[75033b6]179<screen><userinput>./configure --prefix=/usr \
180 --sysconfdir=/etc \
181 --with-apxs2 \
[4a93a3c]182 --with-config-file-path=/etc \
[75033b6]183 --with-zlib \
184 --enable-bcmath \
185 --with-bz2 \
186 --enable-calendar \
187 --enable-dba=shared \
188 --with-gdbm \
189 --with-gmp \
190 --enable-ftp \
191 --with-gettext \
192 --enable-mbstring \
193 --with-readline &amp;&amp;
[db81e4cb]194make</userinput></screen>
195
[75033b6]196 <para>To test the results, issue: <command>make test</command>. A few
197 tests may fail.</para>
[d6f7e6cb]198
[db81e4cb]199 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
200
[75033b6]201<screen role="root"><userinput>make install &amp;&amp;
202install -v -m644 php.ini-production /etc/php.ini &amp;&amp;
[d6f7e6cb]203
[ba1a38b]204install -v -m755 -d /usr/share/doc/php-&php-version; &amp;&amp;
[75033b6]205install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS README* UPGRADING* php.gif \
[5a464e4d]206 /usr/share/doc/php-&php-version; &amp;&amp;
207ln -v -sfn /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
208 /usr/share/doc/php-&php-version; &amp;&amp;
209ln -v -sfn /usr/lib/php/doc/Structures_Graph/docs \
210 /usr/share/doc/php-&php-version;</userinput></screen>
[db81e4cb]211
[b84326b7]212 <para>The pre-built HTML documentation is packaged in two forms: a tarball
213 containing many individual files, useful for quick loading into your
[ba1a38b]214 browser, and one large individual file, which is useful for using the
215 search utility of your browser. If you downloaded either, or both, of the
216 documentation files, issue the following commands as the
217 <systemitem class='username'>root</systemitem> user to install them (note
[b84326b7]218 these instructions assume English docs, modify the tarball names below if
219 necessary).</para>
[db81e4cb]220
[ba1a38b]221 <para>For the <quote>Single HTML</quote> file:</para>
[b84326b7]222
223<screen role="root"><userinput>install -v -m644 ../php_manual_en.html.gz \
224 /usr/share/doc/php-&php-version; &amp;&amp;
225gunzip -v /usr/share/doc/php-&php-version;/php_manual_en.html.gz</userinput></screen>
226
227 <para>For the <quote>Many HTML files</quote> tarball:</para>
228
[0fb9d5f]229<screen role="root"><userinput>tar -xvf ../php_manual_en.tar.gz \
[a5db8d2]230 -C /usr/share/doc/php-&php-version; --no-same-owner</userinput></screen>
[db81e4cb]231
232 </sect2>
[b84326b7]233
[934c9b26]234 <sect2 role="commands">
235 <title>Command Explanations</title>
[db81e4cb]236
[934c9b26]237 <para><parameter>--with-apxs2</parameter>: This parameter
[b84326b7]238 builds the Apache HTTPD 2.0 module.</para>
[934c9b26]239
240 <para><parameter>--with-config-file-path=/etc</parameter>: This parameter
[ba1a38b]241 makes <application>PHP</application> look for the
242 <filename>php.ini</filename> configuration file in
243 <filename class='directory'>/etc</filename>.</para>
[934c9b26]244
[bccbdaea]245 <para><parameter>--with-zlib</parameter>: This parameter adds
[3239e36]246 support for <application>Zlib</application> compression.</para>
[934c9b26]247
[b84326b7]248 <para><parameter>--enable-bcmath</parameter>: Enables
249 <command>bc</command> style precision math functions.</para>
[bccbdaea]250
[2f65edb]251 <para><parameter>--with-bz2</parameter>: Adds support for
[b84326b7]252 <application>Bzip2</application> compression functions.</para>
[934c9b26]253
254 <para><parameter>--enable-calendar</parameter>: This parameter
255 provides support for calendar conversion.</para>
256
[0fb9d5f]257 <para><parameter>--enable-dba=shared</parameter>: This parameter enables
[2f65edb]258 support for database (dbm-style) abstraction layer functions.</para>
[934c9b26]259
260 <para><parameter>--enable-ftp</parameter>: This parameter
[3239e36]261 enables FTP functions.</para>
[934c9b26]262
263 <para><parameter>--with-gettext</parameter>: Enables functions
[3239e36]264 that use <application>Gettext</application> text translation.</para>
[934c9b26]265
266 <para><parameter>--enable-mbstring</parameter>: This parameter
267 enables multibyte string support.</para>
268
269 <para><parameter>--with-readline</parameter>: This parameter
[b84326b7]270 enables command line <application>Readline</application> support.</para>
[934c9b26]271
[5a464e4d]272 <para><option>--disable-libxml</option>: This option
[ba1a38b]273 allows building PHP without <application>libxml2</application>
[2f65edb]274 installed.</para>
[934c9b26]275
276 </sect2>
[bccbdaea]277
[db81e4cb]278 <sect2 role="configuration">
279 <title>Configuring PHP</title>
280
281 <sect3 id="php-config">
282 <title>Config Files</title>
283
[ba1a38b]284 <para><filename>/etc/php.ini</filename> and
[db81e4cb]285 <filename>/etc/pear.conf</filename></para>
286
287 <indexterm zone="php php-config">
288 <primary sortas="e-etc-php.ini">/etc/php.ini</primary>
289 </indexterm>
290
291 <indexterm zone="php php-config">
292 <primary sortas="e-etc-pear.conf">/etc/pear.conf</primary>
293 </indexterm>
294
295 </sect3>
296
297 <sect3>
298 <title>Configuration Information</title>
299
[e797436]300 <para>The file used as the default <filename>/etc/php.ini</filename>
301 configuration file is recommended by the <application>PHP</application>
302 development team. This file modifies the default behavior of
[254be7d3]303 <application>PHP</application>. If no <filename>/etc/php.ini</filename>
304 is used, all configuration settings fall to the defaults. You should
[e797436]305 review the comments in this file and ensure the changes are acceptable
306 in your particular environment.</para>
307
[b84326b7]308 <para>You may have noticed the following from the output of the
309 <command>make install</command> command:</para>
310
[7c1d541]311<screen><computeroutput>You may want to add: /usr/lib/php to your php.ini include_path</computeroutput></screen>
[b84326b7]312
313 <para>If desired, add the entry using the following command as the
314 <systemitem class="username">root</systemitem> user:</para>
315
[7c1d541]316<screen role="root"><userinput>sed -i 's@php/includes"@&amp;\ninclude_path = ".:/usr/lib/php"@' \
[b84326b7]317 /etc/php.ini</userinput></screen>
318
[0619e6d]319 <para>To enable PHP support in the <application>Apache</application>
[db81e4cb]320 web server, a new LoadModule (which should be handled automatically by the
[7cd76d62]321 <command>make install</command> command) and AddType directives
[db81e4cb]322 must be added to the <filename>httpd.conf</filename> file:</para>
323
324<screen><literal>LoadModule php5_module lib/apache/libphp5.so
325AddType application/x-httpd-php .php</literal></screen>
326
[e797436]327 <para>Additionally, it can be useful to add an entry for
[7cd76d62]328 <filename>index.php</filename> to the DirectoryIndex directive of the
[e797436]329 <filename>httpd.conf</filename> file. Lastly, adding a line to setup the
330 <filename class='extension'>.phps</filename> extension to show
331 highlighted <application>PHP</application> source may be
332 desirable:</para>
333
334<screen><literal>AddType application/x-httpd-php-source .phps</literal></screen>
[db81e4cb]335
[7cd76d62]336 <para>You'll need to restart the <application>Apache</application> web server
[0619e6d]337 after making any modifications to the <filename>httpd.conf</filename>
[db81e4cb]338 file.</para>
339
340 </sect3>
341
342 </sect2>
343
344 <sect2 role="content">
345 <title>Contents</title>
346
347 <segmentedlist>
348 <segtitle>Installed Programs</segtitle>
349 <segtitle>Installed Library</segtitle>
350 <segtitle>Installed Directories</segtitle>
351
352 <seglistitem>
[e797436]353 <seg>pear, peardev, pecl, php, php-config and phpize</seg>
354 <seg>libphp5.so Apache module</seg>
[ba1a38b]355 <seg>/usr/include/php, /usr/lib/php and
356 /usr/share/doc/php-&php-version;</seg>
[db81e4cb]357 </seglistitem>
358 </segmentedlist>
359
360 <variablelist>
361 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
362 <?dbfo list-presentation="list"?>
363 <?dbhtml list-presentation="table"?>
364
365 <varlistentry id="php-prog">
366 <term><command>php</command></term>
367 <listitem>
[7cd76d62]368 <para>is a command line interface that enables you to parse and
[db81e4cb]369 execute PHP code.</para>
370 <indexterm zone="php php-prog">
371 <primary sortas="b-php">php</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 <varlistentry id="pear">
377 <term><command>pear</command></term>
378 <listitem>
[7cd76d62]379 <para>is the PHP Extension and Application
[db81e4cb]380 Repository (PEAR) package manager.</para>
381 <indexterm zone="php pear">
382 <primary sortas="b-pear">pear</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 </variablelist>
388
389 </sect2>
[f45b1953]390
391</sect1>
Note: See TracBrowser for help on using the repository browser.