source: general/prog/php.xml@ 48a4274

12.2 gimp3 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since 48a4274 was 264e9bb2, checked in by Thomas Trepl <thomas@…>, 4 months ago

Update to php-8.3.7

  • Property mode set to 100644
File size: 27.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 "https://www.php.net/distributions/php-&php-version;.tar.xz">
8 <!ENTITY php-download-ftp " ">
9 <!ENTITY php-md5sum "81986a54500ebc40d1f911112682e0e1">
10 <!ENTITY php-size "11.8 MB">
11 <!ENTITY php-buildsize "526 MB (with documentation and tests)">
12 <!ENTITY php-time "1.9 SBU (with parallelism=4; add 1.8 SBU for tests)">
13 <!-- Tests were run for 8.0.1 at -j4, had two timeouts as well.
14 Results were otherwise normal though, so I'm unsure of what caused the
15 increase in time. -renodr
16 No timeout for 8.0.2. Tests run at -j4 too. -pierre
17 No timeouts on 8.0.3 for me this time. -renodr
18 No timeouts on 8.0.5 -bdubbs
19 No timeouts, one failure on 8.0.9 -bdubbs
20 No timeouts on 8.0.10 - thomas
21 No timeouts on 8.0.11 - thomas
22
23TEST RESULT SUMMARY 8.1.0
24
25Exts skipped : 36
26Exts tested : 36
27
28Number of tests : 17060 12551
29Tests skipped : 4509 ( 26.4%)
30Tests warned : 2 ( 0.0%) ( 0.0%)
31Tests failed : 4 ( 0.0%) ( 0.0%)
32Expected fail : 28 ( 0.2%) ( 0.2%)
33Tests passed : 12517 ( 73.4%) ( 99.7%)
34
35Time taken : 165 seconds
36
37Stats for tests changed slightly for 8.1.1, but not significantly.
38Stats for tests changed slightly for 8.1.2, but not significantly.
39 Tests failed : 1
40For 8.1.4, ran tests at -j4. One test still fails.
41For 8.1.5, ran tests at -j4. One test still fails.
42
43Running tests at -j4 does nothing. The jobs cound is not passed to the
44actual routine running the tests.
45
46For 8.1.7:
47Number of tests : 17250 12714
48Tests skipped : 4536 ( 26.3%)
49Tests warned : 2 ( 0.0%) ( 0.0%)
50Tests failed : 1 ( 0.0%) ( 0.0%)
51Expected fail : 27 ( 0.2%) ( 0.2%)
52Tests passed : 12684 ( 73.5%) ( 99.8%)
53
54Time taken : 162 seconds
55
56The warnings are really XFAIL. The FAIL is ext/phar/tests/bug69958.phpt.
57It appears to be mission a test file.
58
59For 8.1.10:
60Number of tests : 17315 12768
61Tests skipped : 4547 ( 26.3%) - - - - - - - -
62Tests warned : 2 ( 0.0%) ( 0.0%)
63Tests failed : 5 ( 0.0%) ( 0.0%)
64Expected fail : 27 ( 0.2%) ( 0.2%)
65Tests passed : 12734 ( 73.5%) ( 99.7%)
66
67Time taken : 162 seconds
68
69For 8.2.0:
70Number of tests : 17768 13167
71Tests skipped : 4601 ( 25.9%) - - - - - - - -
72Tests warned : 3 ( 0.0%) ( 0.0%)
73Tests failed : 1 ( 0.0%) ( 0.0%)
74Expected fail : 25 ( 0.1%) ( 0.2%)
75Tests passed : 13138 ( 73.9%) ( 99.8%)
76
77Time taken : 166 seconds
78
79For 8.3.0:
80Number of tests : 18682 13904
81Tests skipped : 4778 ( 25.6%) - - - - - - - -
82Tests warned : 1 ( 0.0%) ( 0.0%)
83Tests failed : 8 ( 0.0%) ( 0.1%)
84Expected fail : 9 ( 0.0%) ( 0.1%)
85Tests passed : 13886 ( 74.3%) ( 99.9%)
86
87Time taken : 183 seconds
88
89For 8.3.1: [rahul] (Ryzen 7 1700)
90
91Number of tests : 18706 13767
92Tests skipped : 4939 ( 26.4%)
93Tests warned : 0 ( 0.0%) ( 0.0%)
94Tests failed : 1 ( 0.0%) ( 0.0%)
95Expected fail : 9 ( 0.0%) ( 0.1%)
96Tests passed : 13757 ( 73.5%) ( 99.9%)
97
98Time taken : 301 seconds
99
100For 8.3.6: [bdubbs] (AMD 3900)
101
102Number of tests : 18777 13968
103Tests skipped : 4809 ( 25.6%)
104Tests warned : 1 ( 0.0%) ( 0.0%)
105Tests failed : 2 ( 0.0%) ( 0.0%)
106Expected fail : 9 ( 0.0%) ( 0.1%)
107Tests passed : 13956 ( 74.3%) ( 99.9%)
108
109Time taken : 189 seconds
110
1118.3.7 gave me (thomas) a few more failed tests but
112they are caused by redirected stderr/stdout/stdin
113and not running on a tty. The overall amounts seems
114comparable to 8.3.6
115
116-->
117
118]>
119
120<sect1 id="php" xreflabel="PHP-&php-version;">
121 <?dbhtml filename="php.html"?>
122
123
124 <title>PHP-&php-version;</title>
125
126 <indexterm zone="php">
127 <primary sortas="a-PHP">PHP</primary>
128 </indexterm>
129
130 <sect2 role="package">
131 <title>Introduction to PHP</title>
132
133 <para>
134 <application>PHP</application> is the PHP Hypertext Preprocessor.
135 Primarily used in dynamic web sites, it allows for programming code to be
136 directly embedded into the HTML markup. It is also useful as a
137 general purpose scripting language.
138 </para>
139
140 &lfs121_checked;
141
142 <bridgehead renderas="sect3">Package Information</bridgehead>
143 <itemizedlist spacing="compact">
144 <listitem>
145 <para>
146 Download (HTTP): <ulink url="&php-download-http;"/>
147 </para>
148 </listitem>
149 <listitem>
150 <para>
151 Download (FTP): <ulink url="&php-download-ftp;"/>
152 </para>
153 </listitem>
154 <listitem>
155 <para>
156 Download MD5 sum: &php-md5sum;
157 </para>
158 </listitem>
159 <listitem>
160 <para>
161 Download size: &php-size;
162 </para>
163 </listitem>
164 <listitem>
165 <para>
166 Estimated disk space required: &php-buildsize;
167 </para>
168 </listitem>
169 <listitem>
170 <para>
171 Estimated build time: &php-time;
172 </para>
173 </listitem>
174 </itemizedlist>
175
176 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
177 <itemizedlist spacing="compact">
178 <listitem>
179 <para>
180 Optional pre-built documentation (single file html): <ulink
181 url="https://www.php.net/distributions/manual/php_manual_en.html.gz"/>
182 </para>
183 </listitem>
184 <listitem>
185 <para>
186 Optional pre-built documentation (chunked html): <ulink
187 url="https://www.php.net/distributions/manual/php_manual_en.tar.gz"/>.
188 Note that the documentation can be found in languages other than
189 English at <ulink url="https://www.php.net/download-docs.php"/>
190 </para>
191 </listitem>
192 </itemizedlist>
193
194 <bridgehead renderas="sect3">PHP Dependencies</bridgehead>
195
196 <bridgehead renderas="sect4">Recommended</bridgehead>
197 <para role="recommended">
198 <xref linkend="apache"/> and
199 <xref linkend="libxml2"/>
200 </para>
201
202 <bridgehead renderas="sect4">Optional System Utilities and Libraries</bridgehead>
203 <para role="optional">
204 <xref linkend="aspell"/>,
205 <xref linkend="enchant"/>,
206 <xref linkend="libxslt"/>,
207 an <xref linkend="server-mail"/> (that provides a
208 <command>sendmail</command> command),
209 <xref linkend="pcre2"/>,
210 <ulink url="https://wiki.ubuntu.com/AppArmor">AppArmor</ulink>,
211 <ulink url="https://dmalloc.com/">Dmalloc</ulink>,
212 <ulink url="http://www.net-snmp.org/">Net-SNMP</ulink>,
213 <ulink url="https://github.com/kkos/oniguruma">oniguruma</ulink>,
214 <ulink url="http://www.ossp.org/pkg/lib/mm/">OSSP mm</ulink>,
215 <ulink url="https://re2c.org/">re2c</ulink>, and
216 <ulink url="https://xmlrpc-epi.sourceforge.net/main.php?t=php_about">XMLRPC-EPI</ulink>
217 </para>
218
219 <bridgehead renderas="sect4">Optional Graphics Utilities and Libraries</bridgehead>
220 <para role="optional">
221 <xref linkend="freetype2"/>,
222 <xref linkend="libexif"/>,
223 <xref linkend="libjpeg"/>,
224 <xref linkend="libpng"/>,
225 <xref linkend="libtiff"/>,
226 <xref linkend="libwebp"/>,
227 <xref linkend="x-window-system"/>,
228 <!--<ulink url="http://www.fastio.com/">ClibPDF</ulink>, - site asks for username/password-->
229 <ulink url="https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/">FDF Toolkit</ulink>,
230 <ulink url="https://github.com/libgd/libgd">GD</ulink>, and
231 <ulink url="https://www.t1lib.org/">t1lib</ulink>
232 </para>
233
234 <bridgehead renderas="sect4">Optional Web Utilities</bridgehead>
235 <para role="optional">
236 <xref linkend="curl"/>,
237 <xref linkend="tidy-html5"/>,
238 <ulink url="https://sourceforge.net/projects/caudium/">Caudium</ulink>,
239 <ulink url="https://www.hyperwave.com/en/">Hyperwave</ulink>,
240 <ulink url="https://download.roxen.com/6.1/">Roxen WebServer</ulink>, and
241 <ulink url="https://github.com/Bilal-S/WDDX.net">WDDX</ulink>
242 </para>
243
244 <bridgehead renderas="sect4">Optional Data Management Utilities and Libraries</bridgehead>
245 <para role="optional">
246 <xref linkend="libiodbc"/>,
247 <xref linkend="lmdb"/>,
248 <xref linkend="mariadb"/> or <ulink url="https://www.mysql.com/">MySQL</ulink>,
249 <xref linkend="openldap"/>,
250 <xref linkend="postgresql"/>,
251 <xref linkend="sqlite"/>,
252 <xref linkend="unixodbc"/>,
253 &berkeley-db;
254 <ulink url="https://www.softwareag.com/en_corporate/platform/adabas-natural.html">Adabas</ulink>,
255 <ulink url="https://raima.com/product-overview/">Birdstep</ulink>,
256 <ulink url="https://cr.yp.to/cdb.html">cdb</ulink>,
257 <ulink url="https://www.dbmaker.com/">DBMaker</ulink>,
258 <ulink url="http://www.empress.com/">Empress</ulink>,
259 <ulink url="http://www.frontbase.com/cgi-bin/WebObjects/FBWebSite">FrontBase</ulink>,
260 <ulink url="https://www.ibm.com/analytics/us/en/db2/">IBM DB2</ulink>,
261 <ulink url="https://hughestech.com.au/products/msql/">Mini SQL</ulink>,
262 <ulink url="https://www.monetra.com/">Monetra</ulink>, and
263 <ulink url="https://sourceforge.net/projects/qdbm">QDBM</ulink>
264 </para>
265
266 <para>
267 <application>PHP</application> also provides support for many
268 commercial database tools such as <application>Oracle</application>,
269 <application>SAP</application> and
270 <application>ODBC Router</application>.
271 </para>
272
273 <bridgehead renderas="sect4">Optional Security/Encryption Utilities and Libraries</bridgehead>
274 <para role="optional">
275 <xref linkend="cyrus-sasl"/>,
276 <xref linkend="mitkrb"/>,
277 <ulink url="https://mcrypt.sourceforge.net/">libmcrypt</ulink>, and
278 <ulink url="https://mhash.sourceforge.net/">mhash</ulink>
279 </para>
280
281 <para condition="html" role="usernotes">
282 Editor Notes: <ulink url="&blfs-wiki;/php"/>
283 </para>
284
285 </sect2>
286
287 <sect2 role="installation">
288 <title>Installation of PHP</title>
289
290 <para>
291 You can use <application>PHP</application> for server-side
292 scripting, command-line scripting or client-side GUI applications. This
293 book provides instructions for setting up <application>PHP</application>
294 for server-side scripting as it is the most common form.
295 </para>
296
297 <note>
298 <para>
299 <application>PHP</application> has many more
300 <command>configure</command> options that will enable support for
301 various things. You can use <command>./configure --help</command> to
302 see a full list of the available options. Also, use of the
303 <ulink url="https://www.php.net/">PHP web site</ulink>
304 is highly recommended, as their online docs are very good. An example
305 of a <command>configure</command> command that utilizes many of the
306 most common dependencies can be found at <ulink
307 url="&sources-anduin-http;/files/php_configure.txt"/>.
308 </para>
309
310 <para>
311 If, for whatever reason, you don't have <xref linkend="libxml2"/>
312 installed, you need to add <option>--disable-libxml</option> to the
313 <command>configure</command> command in the instructions below. Note
314 that this will prevent the <command>pear</command> command from being
315 built.
316 </para>
317 </note>
318
319 <para>
320 Install <application>PHP</application> by running the following commands:
321 </para>
322
323<screen revision="sysv"><userinput>./configure --prefix=/usr \
324 --sysconfdir=/etc \
325 --localstatedir=/var \
326 --datadir=/usr/share/php \
327 --mandir=/usr/share/man \
328 --without-pear \
329 --enable-fpm \
330 --with-fpm-user=apache \
331 --with-fpm-group=apache \
332 --with-config-file-path=/etc \
333 --with-zlib \
334 --enable-bcmath \
335 --with-bz2 \
336 --enable-calendar \
337 --enable-dba=shared \
338 --with-gdbm \
339 --with-gmp \
340 --enable-ftp \
341 --with-gettext \
342 --enable-mbstring \
343 --disable-mbregex \
344 --with-readline &amp;&amp;
345make</userinput></screen>
346
347<screen revision="systemd"><userinput>./configure --prefix=/usr \
348 --sysconfdir=/etc \
349 --localstatedir=/var \
350 --datadir=/usr/share/php \
351 --mandir=/usr/share/man \
352 --enable-fpm \
353 --without-pear \
354 --with-fpm-user=apache \
355 --with-fpm-group=apache \
356 --with-fpm-systemd \
357 --with-config-file-path=/etc \
358 --with-zlib \
359 --enable-bcmath \
360 --with-bz2 \
361 --enable-calendar \
362 --enable-dba=shared \
363 --with-gdbm \
364 --with-gmp \
365 --enable-ftp \
366 --with-gettext \
367 --enable-mbstring \
368 --disable-mbregex \
369 --with-readline &amp;&amp;
370make</userinput></screen>
371 <para>
372 To test the results, issue: <command>make test</command>. Several
373 tests (out of over 18000) may fail, in which case you are asked
374 whether you want to send the report to the PHP developers. If you
375 want to automate the test, you may prefix the command with
376 <command>yes "n" | </command>.
377 </para>
378
379 <para>
380 Now, as the <systemitem class="username">root</systemitem> user:
381 </para>
382
383<!-- dev note: make INSTALL_ROOT=<DESTDIR> install -->
384
385<screen role="root"><userinput>make install &amp;&amp;
386install -v -m644 php.ini-production /etc/php.ini &amp;&amp;
387
388install -v -m755 -d /usr/share/doc/php-&php-version; &amp;&amp;
389install -v -m644 CODING_STANDARDS* EXTENSIONS NEWS README* UPGRADING* \
390 /usr/share/doc/php-&php-version;</userinput></screen>
391
392 <para>
393 The default configuration files for the fastCGI process manager are
394 installed only if they do not already exist on the system. If this is
395 the first installation, they should be renamed, as the
396 <systemitem class='username'>root</systemitem> user:
397 </para>
398
399<screen role="root"><userinput>if [ -f /etc/php-fpm.conf.default ]; then
400 mv -v /etc/php-fpm.conf{.default,} &amp;&amp;
401 mv -v /etc/php-fpm.d/www.conf{.default,}
402fi</userinput></screen>
403
404 <para>
405 The pre-built HTML documentation is packaged in two forms: a tarball
406 containing many individual files, useful for quick loading into your
407 browser, and one large individual file, which is useful for using the
408 search utility of your browser. If you downloaded either, or both, of the
409 documentation files, issue the following commands as the
410 <systemitem class='username'>root</systemitem> user to install them (note
411 these instructions assume English docs, modify the tarball names below if
412 necessary).
413 </para>
414
415 <para>
416 For the <quote>Single HTML</quote> file:
417 </para>
418
419<screen role="root"><userinput>install -v -m644 ../php_manual_en.html.gz \
420 /usr/share/doc/php-&php-version; &amp;&amp;
421gunzip -v /usr/share/doc/php-&php-version;/php_manual_en.html.gz</userinput></screen>
422
423 <para>
424 For the <quote>Many HTML files</quote> tarball:
425 </para>
426
427<screen role="root"><userinput>tar -xvf ../php_manual_en.tar.gz \
428 -C /usr/share/doc/php-&php-version; --no-same-owner</userinput></screen>
429
430 <para>
431 The bundled pear is not installed because of a bug which might
432 pollute the filesystem with several hidden files and directories.
433 If pear is needed, execute the following commands to install it:
434 </para>
435
436<screen role="nodump"><userinput>wget https://pear.php.net/go-pear.phar
437php ./go-pear.phar</userinput></screen>
438
439 </sect2>
440
441 <sect2 role="commands">
442 <title>Command Explanations</title>
443
444 <para>
445 <parameter>--datadir=/usr/share/php</parameter>: This works
446 around a bug in the build machinery, which installs some data to a
447 wrong location.
448 </para>
449
450 <para>
451 <parameter>--enable-fpm</parameter>: This parameter allows
452 building the fastCGI Process Manager.
453 </para>
454
455 <para revision="systemd">
456 <parameter>--with-fpm-systemd</parameter>: This parameter allows
457 the FastCGI Process Manager to integrate with systemd.
458 </para>
459
460 <para>
461 <parameter>--without-pear</parameter>: This switch disables
462 installation of bundled pear software.
463 </para>
464
465 <para>
466 <parameter>--with-config-file-path=/etc</parameter>: This parameter
467 makes <application>PHP</application> look for the
468 <filename>php.ini</filename> configuration file in
469 <filename class='directory'>/etc</filename>.
470 </para>
471
472 <para>
473 <parameter>--with-zlib</parameter>: This parameter adds
474 support for <application>Zlib</application> compression.
475 </para>
476
477 <para>
478 <parameter>--enable-bcmath</parameter>: Enables
479 <command>bc</command> style precision math functions.
480 </para>
481
482 <para>
483 <parameter>--with-bz2</parameter>: Adds support for
484 <application>Bzip2</application> compression functions.
485 </para>
486
487 <para>
488 <parameter>--enable-calendar</parameter>: This parameter
489 provides support for calendar conversion.
490 </para>
491
492 <para>
493 <parameter>--enable-dba=shared</parameter>: This parameter enables
494 support for database (dbm-style) abstraction layer functions.
495 </para>
496
497 <para>
498 <parameter>--enable-ftp</parameter>: This parameter
499 enables FTP functions.
500 </para>
501
502 <para>
503 <parameter>--with-gettext</parameter>: Enables functions
504 that use <application>Gettext</application> text translation.
505 </para>
506
507 <para>
508 <parameter>--enable-mbstring</parameter>: This parameter
509 enables multibyte string support.
510 </para>
511
512<!--
513 <para>
514 <parameter>- -disable-mbstring</parameter>: This parameter
515 disables multibyte string regular expression support. It
516 requires the external
517 <ulink url="https://github.com/kkos/oniguruma">oniguruma</ulink>
518 library.
519 </para>
520-->
521 <para>
522 <parameter>--with-readline</parameter>: This parameter
523 enables command line <application>Readline</application> support.
524 </para>
525
526 <para>
527 <option>--disable-libxml</option>: This option
528 allows building PHP without <application>libxml2</application>
529 installed.
530 </para>
531
532 <para>
533 <option>--with-apxs2</option>: Instead of building the fastCGI process
534 manager, it is possible to build an <application>apache</application>
535 module. This has some performance penalty for heavy loaded servers,
536 but may be easier to set up. This switch is incompatible with the
537 <parameter>--enable-fpm</parameter> and
538 <parameter>--with-fpm-...</parameter> switches.
539 </para>
540
541 <para>
542 <option>--with-mysqli=shared</option>: This option includes MySQLi
543 support.
544 </para>
545
546 <para>
547 <option>--with-mysql-sock=/run/mysqld/mysqld.sock</option>: Location of
548 the MySQL unix socket pointer.
549 </para>
550
551 <para>
552 <option>--with-pdo-mysql=shared</option>: This option includes PDO:
553 MySQL support.
554 </para>
555
556 <para>
557 <option>--with-tidy=shared</option>: This option includes tidy library
558 support.
559 </para>
560
561 </sect2>
562
563 <sect2 role="configuration">
564 <title>Configuring PHP</title>
565
566 <sect3 id="php-config">
567 <title>Config Files</title>
568
569 <para>
570 <filename>/etc/php.ini</filename>,
571 <filename>/etc/pear.conf</filename>,
572 <filename>/etc/php-fpm.conf</filename>, and
573 <filename>/etc/php-fpm.d/www.conf</filename>
574 </para>
575
576 <indexterm zone="php php-config">
577 <primary sortas="e-etc-php.ini">/etc/php.ini</primary>
578 </indexterm>
579
580 <indexterm zone="php php-config">
581 <primary sortas="e-etc-pear.conf">/etc/pear.conf</primary>
582 </indexterm>
583
584 <indexterm zone="php php-config">
585 <primary sortas="e-etc-php-fpm.d-www.conf">
586 /etc/php-fpm.d/www.conf</primary>
587 </indexterm>
588
589 <indexterm zone="php php-config">
590 <primary sortas="e-etc-php-fpm.conf">/etc/php-fpm.conf</primary>
591 </indexterm>
592
593 </sect3>
594
595 <sect3>
596 <title>Configuration Information</title>
597
598 <para>
599 The file used as the default <filename>/etc/php.ini</filename>
600 configuration file is recommended by the <application>PHP</application>
601 development team. This file modifies the default behavior of
602 <application>PHP</application>. If no <filename>/etc/php.ini</filename>
603 is used, all configuration settings fall to the defaults. You should
604 review the comments in this file and ensure the changes are acceptable
605 in your particular environment.
606 </para>
607
608 <para>
609 The fastCGI process manager uses the configuration file
610 <filename>/etc/php-fpm.conf</filename>. The default file shipped with
611 PHP includes all the <filename>/etc/php-fpm.d/*.conf</filename> in turn.
612 There is a shipped <filename>/etc/php-fpm.d/www.conf</filename> file,
613 that contains the parameters related to the interaction with the Apache
614 Web server.
615 </para>
616
617 <para>
618 You may have noticed the following from the output of the
619 <command>make install</command> command:
620 </para>
621
622<screen><computeroutput>You may want to add: /usr/lib/php to your php.ini include_path</computeroutput></screen>
623
624 <para>
625 If desired, add the entry using the following command as the
626 <systemitem class="username">root</systemitem> user:
627 </para>
628
629<screen role="root"><userinput>sed -i 's@php/includes"@&amp;\ninclude_path = ".:/usr/lib/php"@' \
630 /etc/php.ini</userinput></screen>
631
632 <para>
633 To enable fastCGI support in the <application>Apache</application>
634 web server, two LoadModule directives must be added to the
635 <filename>httpd.conf</filename> file. They are commented out, so just
636 issue the following command as
637 <systemitem class="username">root</systemitem> user:
638 </para>
639
640<screen role="root"><userinput>sed -i -e '/proxy_module/s/^#//' \
641 -e '/proxy_fcgi_module/s/^#//' \
642 /etc/httpd/httpd.conf</userinput></screen>
643
644 <para>
645 Those modules accept various <command>ProxyPass</command>
646 directives. One possibility is (as the
647 <systemitem class="username">root</systemitem> user):
648 </para>
649
650<screen role="root"><userinput>echo \
651'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/srv/www/$1' >> \
652/etc/httpd/httpd.conf</userinput></screen>
653
654 <para>
655 Additionally, it may be useful to add an entry for
656 <filename>index.php</filename> to the DirectoryIndex directive of the
657 <filename>httpd.conf</filename> file. Lastly, adding a line to set up the
658 <filename class='extension'>.phps</filename> extension to show
659 highlighted <application>PHP</application> source may be
660 desirable:
661 </para>
662
663<screen><literal>AddType application/x-httpd-php-source .phps</literal></screen>
664
665 <para>
666 You'll need to restart the <application>Apache</application> web server
667 after making any modifications to the <filename>httpd.conf</filename>
668 file.
669 </para>
670
671 </sect3>
672
673 <sect3 id="php-init">
674 <title><phrase revision="sysv">Boot Script</phrase>
675 <phrase revision="systemd">Systemd Unit</phrase></title>
676
677 <para revision="sysv">
678 To automatically start the <command>php-fpm</command> daemon when the
679 system is rebooted, install the
680 <filename>/etc/rc.d/init.d/php</filename> bootscript from the
681 <xref linkend="bootscripts"/> package as the
682 <systemitem class="username">root</systemitem> user:
683 </para>
684
685 <para revision="systemd">
686 To start the <command>php-fpm</command> daemon at boot,
687 install the systemd unit from the <xref linkend="systemd-units"/>
688 package by running the following command as the
689 <systemitem class="username">root</systemitem> user:
690 </para>
691
692
693 <indexterm zone="php php-init">
694 <primary sortas="f-php">php</primary>
695 </indexterm>
696
697<screen role="root" revision="sysv"><userinput>make install-php</userinput></screen>
698
699<screen role="root" revision="systemd"><userinput>make install-php-fpm</userinput></screen>
700
701 </sect3>
702
703 </sect2>
704
705 <sect2 role="content">
706 <title>Contents</title>
707
708 <segmentedlist>
709 <segtitle>Installed Programs</segtitle>
710 <segtitle>Installed Libraries</segtitle>
711 <segtitle>Installed Directories</segtitle>
712
713 <seglistitem>
714 <seg><!-- not built anymore pear, peardev, pecl,-->
715 phar (symlink), phar.phar, php,
716 php-cgi, php-config, php-fpm, phpdbg, and phpize</seg>
717
718 <seg>dba.so and opcache.so in
719 /usr/lib/php/extensions/no-debug-non-zts-20220829</seg>
720
721 <seg>/etc/php-fpm.d, /usr/{include,lib,share}/php, and
722 /usr/share/doc/php-&php-version;</seg>
723 </seglistitem>
724 </segmentedlist>
725
726 <variablelist>
727 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
728 <?dbfo list-presentation="list"?>
729 <?dbhtml list-presentation="table"?>
730
731 <varlistentry id="php-prog">
732 <term><command>php</command></term>
733 <listitem>
734 <para>
735 is a command line interface that enables you to parse and
736 execute PHP code
737 </para>
738 <indexterm zone="php php-prog">
739 <primary sortas="b-php">php</primary>
740 </indexterm>
741 </listitem>
742 </varlistentry>
743
744 <varlistentry id="pear">
745 <term><command>pear</command></term>
746 <listitem>
747 <para>
748 is the PHP Extension and Application Repository (PEAR) package
749 manager. This isn't installed by default
750 </para>
751 <indexterm zone="php pear">
752 <primary sortas="b-pear">pear</primary>
753 </indexterm>
754 </listitem>
755 </varlistentry>
756
757 <varlistentry id="php-fpm">
758 <term><command>php-fpm</command></term>
759 <listitem>
760 <para>
761 is the fastCGI process manager for PHP
762 </para>
763 <indexterm zone="php php-fpm">
764 <primary sortas="b-php-fpm">php-fpm</primary>
765 </indexterm>
766 </listitem>
767 </varlistentry>
768
769 <varlistentry id="phpdbg">
770 <term><command>phpdbg</command></term>
771 <listitem>
772 <para>
773 is the interactive PHP debugger
774 </para>
775 <indexterm zone="php phpdbg">
776 <primary sortas="b-phpdbg">phpdbg</primary>
777 </indexterm>
778 </listitem>
779 </varlistentry>
780
781 </variablelist>
782
783 </sect2>
784
785</sect1>
Note: See TracBrowser for help on using the repository browser.