source: general/prog/php.xml@ a754ee2b

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 a754ee2b was a754ee2b, checked in by Igor Živković <igor@…>, 10 years ago

another url fixing patch by Denis Mugnier

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

  • Property mode set to 100644
File size: 15.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/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 "1472b1f968a2a4ae8b26f3134a116011">
10 <!ENTITY php-size "13 MB">
11 <!ENTITY php-buildsize "395 MB">
12 <!ENTITY php-time "3.8 SBU (additional 2.9 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 </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
32 <para><application>PHP</application> is the PHP Hypertext Preprocessor.
33 Primarily used in dynamic web sites, it allows for programming code to be
34 directly embedded into the HTML markup. It is also useful as a
35 general purpose scripting language.</para>
36
37 &lfs74_checked;
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">
63 <listitem>
64 <para>Pre-built documentation (optional): <ulink
65 url="http://www.php.net/download-docs.php"/></para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">PHP Dependencies</bridgehead>
70
71 <bridgehead renderas="sect4">Recommended</bridgehead>
72 <para role="recommended">
73 <xref linkend="apache"/> and
74 <xref linkend="libxml2"/>
75 </para>
76
77 <bridgehead renderas="sect4">Optional System Utilities and Libraries</bridgehead>
78 <para role="optional"><xref linkend="libxslt"/>,
79 <!-- <xref linkend="gamin"/>, -->
80 <xref linkend="pcre"/>,
81 <xref linkend="aspell"/>,
82 <xref linkend="enchant"/>,
83 <xref linkend="expat"/> (deprecated alternative to <xref linkend="libxml2"/>),
84 <ulink url="http://www.ossp.org/pkg/lib/mm/">OSSP mm</ulink>,
85 <ulink url="http://www.net-snmp.org/">Net-SNMP</ulink>,
86 <xref linkend="pth"/>,
87 <ulink url="http://re2c.org/">re2c</ulink>,
88 <ulink url="http://xmlrpc-epi.sourceforge.net/main.php?t=php_about">XMLRPC-EPI</ulink>,
89 <ulink url="http://dmalloc.com/">Dmalloc</ulink>, and
90 an <xref linkend="server-mail"/> (that provides a
91 <command>sendmail</command> command)</para>
92
93 <bridgehead renderas="sect4">Optional Graphics Utilities and Libraries</bridgehead>
94 <para role="optional"><xref linkend="libjpeg"/>,
95 <xref linkend="libtiff"/>,
96 <xref linkend="libpng"/>,
97 <xref linkend="libexif"/>,
98 <xref linkend="freetype2"/>,
99 <xref linkend="x-window-system"/>,
100 <ulink url="http://www.fastio.com/">ClibPDF</ulink>,
101 <ulink url="https://bitbucket.org/libgd/gd-libgd/downloads">GD</ulink>,
102 <ulink url="http://fossies.org/linux/misc/t1lib-5.1.2.tar.gz/">t1lib</ulink>, and
103 <ulink url="http://partners.adobe.com/asn/acrobat/forms.jsp">FDF Toolkit</ulink></para>
104
105 <bridgehead renderas="sect4">Optional Web Utilities</bridgehead>
106 <para role="optional"><xref linkend="curl"/>,
107 <xref linkend="html-tidy"/>,
108 <ulink url="http://www.mnogosearch.org/">mnoGoSearch</ulink>,
109 <ulink url="http://www.hyperwave.com/">Hyperwave</ulink>,
110 <ulink url="http://www.roxen.com/products/webserver/">Roxen WebServer</ulink>,
111 <ulink url="http://caudium.net/">Caudium</ulink>, and
112 <ulink url="https://wddxnet.codeplex.com/">WDDX</ulink></para>
113
114 <bridgehead renderas="sect4">Optional Data Management Utilities and Libraries</bridgehead>
115 <para role="optional"><xref linkend="openldap"/>,
116 <!-- <xref linkend="gdbm"/>, -->
117 <xref linkend="db"/>,
118 <xref linkend="mariadb"/> or <xref linkend="mysql"/>,
119 <xref linkend="postgresql"/>,
120 <xref linkend="unixodbc"/>,
121 <xref linkend="sqlite"/>,
122 <ulink url="http://qdbm.sourceforge.net/">QDBM</ulink>,
123 <ulink url="http://cr.yp.to/cdb.html">cdb</ulink>,
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>,
129 <ulink url="http://www.frontbase.com/">FrontBase</ulink>, and
130 <ulink url="http://www.mainstreetsoftworks.com/">Monetra</ulink></para>
131
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
137 <bridgehead renderas="sect4">Optional Security/Encryption Utilities and Libraries</bridgehead>
138 <para role="optional"><xref linkend="openssl"/>,
139 <xref linkend="cyrus-sasl"/>,
140 <xref linkend="mitkrb"/>,
141 <ulink url="http://mcrypt.sourceforge.net/">libmcrypt</ulink>, and
142 <ulink url="http://mhash.sourceforge.net/">mhash</ulink></para>
143
144 <para condition="html" role="usernotes">User Notes:
145 <ulink url="&blfs-wiki;/php"/></para>
146
147 </sect2>
148
149 <sect2 role="installation">
150 <title>Installation of PHP</title>
151
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>
156
157 <note>
158 <para><application>PHP</application> has many more
159 <command>configure</command> options that will enable support for various
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>
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
166 url="&files-anduin;/php_configure.txt"/>.
167 </para>
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
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>
174 </note>
175
176 <para>Install <application>PHP</application> by
177 running the following commands:</para>
178
179<screen><userinput>sed -i -e 's/2.6.5 2.7/&amp; 3.0/' configure &amp;&amp;
180./configure --prefix=/usr \
181 --sysconfdir=/etc \
182 --mandir=/usr/share/man \
183 --with-apxs2 \
184 --with-config-file-path=/etc \
185 --with-zlib \
186 --enable-bcmath \
187 --with-bz2 \
188 --enable-calendar \
189 --enable-dba=shared \
190 --with-gdbm \
191 --with-gmp \
192 --enable-ftp \
193 --with-gettext \
194 --enable-mbstring \
195 --with-readline &amp;&amp;
196make</userinput></screen>
197
198 <para>To test the results, issue: <command>make test</command>. A few
199 tests may fail.</para>
200
201 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
202
203<!-- dev note: make INSTALL_ROOT=<DESTDIR> install -->
204
205<screen role="root"><userinput>make install &amp;&amp;
206install -v -m644 php.ini-production /etc/php.ini &amp;&amp;
207
208install -v -m755 -d /usr/share/doc/php-&php-version; &amp;&amp;
209install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS README* UPGRADING* php.gif \
210 /usr/share/doc/php-&php-version; &amp;&amp;
211ln -v -sfn /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
212 /usr/share/doc/php-&php-version; &amp;&amp;
213ln -v -sfn /usr/lib/php/doc/Structures_Graph/docs \
214 /usr/share/doc/php-&php-version;</userinput></screen>
215
216 <para>The pre-built HTML documentation is packaged in two forms: a tarball
217 containing many individual files, useful for quick loading into your
218 browser, and one large individual file, which is useful for using the
219 search utility of your browser. If you downloaded either, or both, of the
220 documentation files, issue the following commands as the
221 <systemitem class='username'>root</systemitem> user to install them (note
222 these instructions assume English docs, modify the tarball names below if
223 necessary).</para>
224
225 <para>For the <quote>Single HTML</quote> file:</para>
226
227<screen role="root"><userinput>install -v -m644 ../php_manual_en.html.gz \
228 /usr/share/doc/php-&php-version; &amp;&amp;
229gunzip -v /usr/share/doc/php-&php-version;/php_manual_en.html.gz</userinput></screen>
230
231 <para>For the <quote>Many HTML files</quote> tarball:</para>
232
233<screen role="root"><userinput>tar -xvf ../php_manual_en.tar.gz \
234 -C /usr/share/doc/php-&php-version; --no-same-owner</userinput></screen>
235
236 </sect2>
237
238 <sect2 role="commands">
239 <title>Command Explanations</title>
240
241 <para><command>sed -i -e 's/2.6.5 2.7/&amp; 3.0/' configure</command>: Make
242 <filename>configure</filename> accept the version 3.0 of
243 <application>Bison</application> as a valid version.</para>
244
245 <para><parameter>--with-apxs2</parameter>: This parameter
246 builds the Apache HTTPD 2.0 module.</para>
247
248 <para><parameter>--with-config-file-path=/etc</parameter>: This parameter
249 makes <application>PHP</application> look for the
250 <filename>php.ini</filename> configuration file in
251 <filename class='directory'>/etc</filename>.</para>
252
253 <para><parameter>--with-zlib</parameter>: This parameter adds
254 support for <application>Zlib</application> compression.</para>
255
256 <para><parameter>--enable-bcmath</parameter>: Enables
257 <command>bc</command> style precision math functions.</para>
258
259 <para><parameter>--with-bz2</parameter>: Adds support for
260 <application>Bzip2</application> compression functions.</para>
261
262 <para><parameter>--enable-calendar</parameter>: This parameter
263 provides support for calendar conversion.</para>
264
265 <para><parameter>--enable-dba=shared</parameter>: This parameter enables
266 support for database (dbm-style) abstraction layer functions.</para>
267
268 <para><parameter>--enable-ftp</parameter>: This parameter
269 enables FTP functions.</para>
270
271 <para><parameter>--with-gettext</parameter>: Enables functions
272 that use <application>Gettext</application> text translation.</para>
273
274 <para><parameter>--enable-mbstring</parameter>: This parameter
275 enables multibyte string support.</para>
276
277 <para><parameter>--with-readline</parameter>: This parameter
278 enables command line <application>Readline</application> support.</para>
279
280 <para><option>--disable-libxml</option>: This option
281 allows building PHP without <application>libxml2</application>
282 installed.</para>
283
284 </sect2>
285
286 <sect2 role="configuration">
287 <title>Configuring PHP</title>
288
289 <sect3 id="php-config">
290 <title>Config Files</title>
291
292 <para><filename>/etc/php.ini</filename> and
293 <filename>/etc/pear.conf</filename></para>
294
295 <indexterm zone="php php-config">
296 <primary sortas="e-etc-php.ini">/etc/php.ini</primary>
297 </indexterm>
298
299 <indexterm zone="php php-config">
300 <primary sortas="e-etc-pear.conf">/etc/pear.conf</primary>
301 </indexterm>
302
303 </sect3>
304
305 <sect3>
306 <title>Configuration Information</title>
307
308 <para>The file used as the default <filename>/etc/php.ini</filename>
309 configuration file is recommended by the <application>PHP</application>
310 development team. This file modifies the default behavior of
311 <application>PHP</application>. If no <filename>/etc/php.ini</filename>
312 is used, all configuration settings fall to the defaults. You should
313 review the comments in this file and ensure the changes are acceptable
314 in your particular environment.</para>
315
316 <para>You may have noticed the following from the output of the
317 <command>make install</command> command:</para>
318
319<screen><computeroutput>You may want to add: /usr/lib/php to your php.ini include_path</computeroutput></screen>
320
321 <para>If desired, add the entry using the following command as the
322 <systemitem class="username">root</systemitem> user:</para>
323
324<screen role="root"><userinput>sed -i 's@php/includes"@&amp;\ninclude_path = ".:/usr/lib/php"@' \
325 /etc/php.ini</userinput></screen>
326
327 <para>To enable PHP support in the <application>Apache</application>
328 web server, a new LoadModule (which should be handled automatically by the
329 <command>make install</command> command) and AddType directives
330 must be added to the <filename>httpd.conf</filename> file:</para>
331
332<screen><literal>LoadModule php5_module lib/apache/libphp5.so
333AddType application/x-httpd-php .php</literal></screen>
334
335 <para>Additionally, it can be useful to add an entry for
336 <filename>index.php</filename> to the DirectoryIndex directive of the
337 <filename>httpd.conf</filename> file. Lastly, adding a line to setup the
338 <filename class='extension'>.phps</filename> extension to show
339 highlighted <application>PHP</application> source may be
340 desirable:</para>
341
342<screen><literal>AddType application/x-httpd-php-source .phps</literal></screen>
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, peardev, pecl, phar, phar.phar, php, php-cgi, php-config, and phpize</seg>
362 <seg>libphp5.so Apache module</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.