install/fpm/configuration.xml
f80105b4fc1196bd8d5fecb98d686b580b1ff65d
...
...
@@ -45,6 +45,33 @@
45
45
</para>
46
46
</listitem>
47
47
</varlistentry>
48
+
<varlistentry xml:id="log-limit">
49
+
<term>
50
+
<parameter>log_limit</parameter>
51
+
<type>int</type>
52
+
</term>
53
+
<listitem>
54
+
<para>
55
+
Log limit for the logged lines which allows to log messages longer than
56
+
1024 characters without wrapping.
57
+
Default value: 1024.
58
+
Available as of PHP 7.3.0.
59
+
</para>
60
+
</listitem>
61
+
</varlistentry>
62
+
<varlistentry xml:id="log-buffering">
63
+
<term>
64
+
<parameter>log_buffering</parameter>
65
+
<type>bool</type>
66
+
</term>
67
+
<listitem>
68
+
<para>
69
+
Experimental logging without extra buffering.
70
+
Default value: yes.
71
+
Available as of PHP 7.3.0.
72
+
</para>
73
+
</listitem>
74
+
</varlistentry>
48
75
<varlistentry xml:id="syslog-facility">
49
76
<term>
50
77
<parameter>syslog.facility</parameter>
...
...
@@ -142,7 +169,7 @@
142
169
<varlistentry xml:id="daemonize">
143
170
<term>
144
171
<parameter>daemonize</parameter>
145
-
<type>boolean</type>
172
+
<type>bool</type>
146
173
</term>
147
174
<listitem>
148
175
<para>
...
...
@@ -159,7 +186,7 @@
159
186
<listitem>
160
187
<para>
161
188
Set open file descriptor rlimit for the master process.
162
-
Default value: Set open file descriptor rlimit for the master process.
189
+
Default value: system defined value.
163
190
</para>
164
191
</listitem>
165
192
</varlistentry>
...
...
@@ -233,8 +260,9 @@
233
260
</term>
234
261
<listitem>
235
262
<para>
236
-
Set listen(2) backlog. A value of '-1' means unlimited. Default value:
237
-
-1.
263
+
Set listen(2) backlog. A value of <literal>-1</literal> means maximum on BSD systems.
264
+
Default value: <literal>-1</literal> (FreeBSD or OpenBSD) or <literal>511</literal>
265
+
(Linux and other platforms).
238
266
</para>
239
267
</listitem>
240
268
</varlistentry>
...
...
@@ -245,12 +273,11 @@
245
273
</term>
246
274
<listitem>
247
275
<para>
248
-
List of IPv4 addresses of FastCGI clients which are allowed to
249
-
connect. Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the
250
-
original PHP FastCGI (5.2.2+). Makes sense only with a tcp listening socket.
251
-
Each address must be separated by a comma. If this value is left blank,
252
-
connections will be accepted from any ip address. Default value: any.
253
-
IPv6 addresses are allowed since PHP 5.5.20 and 5.6.4.
276
+
List of IPv4 or IPv6 addresses of FastCGI clients which are allowed to connect. Equivalent
277
+
to the FCGI_WEB_SERVER_ADDRS environment variable in the original PHP FastCGI (5.2.2+).
278
+
Makes sense only with a tcp listening socket. Each address must be separated by a comma.
279
+
If this value is left blank, connections will be accepted from any ip address.
280
+
Default value: not set (any ip address accepted).
254
281
</para>
255
282
</listitem>
256
283
</varlistentry>
...
...
@@ -299,7 +326,7 @@
299
326
<para>
300
327
When POSIX Access Control Lists are supported you can set them using this option.
301
328
When set, <literal>listen.owner</literal> and <literal>listen.group</literal>
302
-
are ignored. Value is a comma separated list of user names. Since PHP 5.6.5.
329
+
are ignored. Value is a comma separated list of user names.
303
330
</para>
304
331
</listitem>
305
332
</varlistentry>
...
...
@@ -311,7 +338,7 @@
311
338
<listitem>
312
339
<para>
313
340
See <literal>listen.acl_users</literal>.
314
-
Value is a comma separated list of group names. Since PHP 5.6.5.
341
+
Value is a comma separated list of group names.
315
342
</para>
316
343
</listitem>
317
344
</varlistentry>
...
...
@@ -365,7 +392,7 @@
365
392
</para>
366
393
</listitem>
367
394
</varlistentry>
368
-
<varlistentry xml:id="pm.max-chidlren">
395
+
<varlistentry xml:id="pm.max-children">
369
396
<term>
370
397
<parameter>pm.max_children</parameter>
371
398
<type>int</type>
...
...
@@ -425,6 +452,33 @@
425
452
</para>
426
453
</listitem>
427
454
</varlistentry>
455
+
<varlistentry xml:id="pm.max-spawn-rate">
456
+
<term>
457
+
<parameter>pm.max_spawn_rate</parameter>
458
+
<type>int</type>
459
+
</term>
460
+
<listitem>
461
+
<para>
462
+
The number of rate to spawn child processes at once. Used only when
463
+
<literal>pm</literal> is set to <literal>dynamic</literal>.
464
+
Default value: 32
465
+
</para>
466
+
</listitem>
467
+
</varlistentry>
468
+
<varlistentry xml:id="pm.process-idle-timeout">
469
+
<term>
470
+
<parameter>pm.process_idle_timeout</parameter>
471
+
<type>mixed</type>
472
+
</term>
473
+
<listitem>
474
+
<para>
475
+
The number of seconds after which an idle process will be killed.
476
+
Used only when <literal>pm</literal> is set to <literal>ondemand</literal>.
477
+
Available units: s(econds)(default), m(inutes), h(ours), or d(ays).
478
+
Default value: 10s.
479
+
</para>
480
+
</listitem>
481
+
</varlistentry>
428
482
<varlistentry xml:id="pm.max-requests">
429
483
<term>
430
484
<parameter>pm.max_requests</parameter>
...
...
@@ -439,6 +493,22 @@
439
493
</para>
440
494
</listitem>
441
495
</varlistentry>
496
+
<varlistentry xml:id="pm.status-listen">
497
+
<term>
498
+
<parameter>pm.status_listen</parameter>
499
+
<type>string</type>
500
+
</term>
501
+
<listitem>
502
+
<para>
503
+
The address on which to accept FastCGI status request. This creates a new invisible pool
504
+
that can handle requests independently. This is useful if the main pool is busy with long
505
+
running requests because it is still possible to get the
506
+
<link linkend="fpm.status">FPM status page</link> before finishing the long running
507
+
requests. The syntax is the same as for <link linkend="listen">listen</link> directive.
508
+
Default value: none.
509
+
</para>
510
+
</listitem>
511
+
</varlistentry>
442
512
<varlistentry xml:id="pm.status-path">
443
513
<term>
444
514
<parameter>pm.status_path</parameter>
...
...
@@ -446,8 +516,9 @@
446
516
</term>
447
517
<listitem>
448
518
<para>
449
-
The URI to view the FPM status page. If this value is not set, no URI
450
-
will be recognized as a status page. Default value: none.
519
+
The URI to view the <link linkend="fpm.status">FPM status page</link>. This value must
520
+
start with a leading slash (/). If this value is not set, no URI will be recognized as
521
+
a status page. Default value: none.
451
522
</para>
452
523
</listitem>
453
524
</varlistentry>
...
...
@@ -478,6 +549,44 @@
478
549
</para>
479
550
</listitem>
480
551
</varlistentry>
552
+
<varlistentry xml:id="worker-process-priority">
553
+
<term>
554
+
<parameter>process.priority</parameter>
555
+
<type>int</type>
556
+
</term>
557
+
<listitem>
558
+
<para>
559
+
Specify the nice(2) priority to apply to the worker process (only if set).
560
+
The value can vary from -19 (highest priority) to 20 (lower priority).
561
+
Default value: not set.
562
+
</para>
563
+
</listitem>
564
+
</varlistentry>
565
+
<varlistentry xml:id="process-dumpable">
566
+
<term>
567
+
<parameter>process.dumpable</parameter>
568
+
<type>bool</type>
569
+
</term>
570
+
<listitem>
571
+
<para>
572
+
Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user
573
+
or group is different than the master process user. It allows to create process
574
+
core dump and ptrace the process for the pool user.
575
+
Default Value: no. Since PHP 7.0.29, 7.1.17 and 7.2.5.
576
+
</para>
577
+
</listitem>
578
+
</varlistentry>
579
+
<varlistentry xml:id="prefix">
580
+
<term>
581
+
<parameter>prefix</parameter>
582
+
<type>string</type>
583
+
</term>
584
+
<listitem>
585
+
<para>
586
+
Specify prefix for path evaluation
587
+
</para>
588
+
</listitem>
589
+
</varlistentry>
481
590
<varlistentry xml:id="request-terminate-timeout">
482
591
<term>
483
592
<parameter>request_terminate_timeout</parameter>
...
...
@@ -493,6 +602,22 @@
493
602
</para>
494
603
</listitem>
495
604
</varlistentry>
605
+
<varlistentry xml:id="request-terminate-timeout-track-finished">
606
+
<term>
607
+
<parameter>request_terminate_timeout_track_finished</parameter>
608
+
<type>bool</type>
609
+
</term>
610
+
<listitem>
611
+
<para>
612
+
The timeout set by
613
+
<link linkend="request-terminate-timeout">request_terminate_timeout</link> is not engaged
614
+
after a <link linkend="function.fastcgi-finish-request">fastcgi_finish_request</link> or
615
+
when application has finished and internal shutdown functions are being called. This
616
+
directive will enable timeout limit to be applied unconditionally even in such cases.
617
+
Default value: no. Since PHP 7.3.0.
618
+
</para>
619
+
</listitem>
620
+
</varlistentry>
496
621
<varlistentry xml:id="request-slowlog-timeout">
497
622
<term>
498
623
<parameter>request_slowlog_timeout</parameter>
...
...
@@ -507,6 +632,18 @@
507
632
</para>
508
633
</listitem>
509
634
</varlistentry>
635
+
<varlistentry xml:id="request-slowlog-trace-depth">
636
+
<term>
637
+
<parameter>request_slowlog_trace_depth</parameter>
638
+
<type>int</type>
639
+
</term>
640
+
<listitem>
641
+
<para>
642
+
The depth of slowlog log stack trace.
643
+
Default value: 20. Since PHP 7.2.0.
644
+
</para>
645
+
</listitem>
646
+
</varlistentry>
510
647
<varlistentry xml:id="slowlog">
511
648
<term>
512
649
<parameter>slowlog</parameter>
...
...
@@ -569,7 +706,7 @@
569
706
<varlistentry xml:id="catch-workers-output">
570
707
<term>
571
708
<parameter>catch_workers_output</parameter>
572
-
<type>boolean</type>
709
+
<type>bool</type>
573
710
</term>
574
711
<listitem>
575
712
<para>
...
...
@@ -579,17 +716,31 @@
579
716
</para>
580
717
</listitem>
581
718
</varlistentry>
719
+
<varlistentry xml:id="decorate-workers-output">
720
+
<term>
721
+
<parameter>decorate_workers_output</parameter>
722
+
<type>bool</type>
723
+
</term>
724
+
<listitem>
725
+
<para>
726
+
Enable the output decoration for workers output when <link
727
+
linkend="catch-workers-output">catch_workers_output</link> is enabled.
728
+
Default value: yes.
729
+
Available as of PHP 7.3.0.
730
+
</para>
731
+
</listitem>
732
+
</varlistentry>
582
733
<varlistentry xml:id="clear-env">
583
734
<term>
584
735
<parameter>clear_env</parameter>
585
-
<type>boolean</type>
736
+
<type>bool</type>
586
737
</term>
587
738
<listitem>
588
739
<para>
589
740
Clear environment in FPM workers.
590
741
Prevents arbitrary environment variables from reaching FPM worker processes
591
742
by clearing the environment in workers before env vars specified in this
592
-
pool configuration are added. Since PHP 5.4.27, 5.5.11, and 5.6.0.
743
+
pool configuration are added.
593
744
Default value: Yes.
594
745
</para>
595
746
</listitem>
...
...
@@ -605,7 +756,164 @@
605
756
This can prevent configuration mistakes on the web server side.
606
757
You should only limit FPM to .php extensions to prevent malicious
607
758
users to use other extensions to execute php code.
608
-
Default value: .php.
759
+
Default value: .php .phar
760
+
</para>
761
+
</listitem>
762
+
</varlistentry>
763
+
<varlistentry xml:id="apparmor-hat">
764
+
<term>
765
+
<parameter>apparmor_hat</parameter>
766
+
<type>string</type>
767
+
</term>
768
+
<listitem>
769
+
<para>
770
+
If AppArmor is enabled, it allows to change a hat.
771
+
Default value: not set
772
+
</para>
773
+
</listitem>
774
+
</varlistentry>
775
+
<varlistentry xml:id="access-log">
776
+
<term>
777
+
<parameter>access.log</parameter>
778
+
<type>string</type>
779
+
</term>
780
+
<listitem>
781
+
<para>
782
+
The access log file.
783
+
Default value: not set
784
+
</para>
785
+
</listitem>
786
+
</varlistentry>
787
+
<varlistentry xml:id="access-format">
788
+
<term>
789
+
<parameter>access.format</parameter>
790
+
<type>string</type>
791
+
</term>
792
+
<listitem>
793
+
<para>
794
+
The access log format.
795
+
Default value: <literal>"%R - %u %t \"%m %r\" %s"</literal>:
796
+
<table xml:id="fpm.configuration.access.format">
797
+
<title>Valid options</title>
798
+
<tgroup cols="2">
799
+
<thead>
800
+
<row>
801
+
<entry>Placeholder</entry>
802
+
<entry>Description</entry>
803
+
</row>
804
+
</thead>
805
+
<tbody>
806
+
<row>
807
+
<entry>
808
+
<literal>%C</literal>
809
+
</entry>
810
+
<entry>%CPU</entry>
811
+
</row>
812
+
<row>
813
+
<entry>
814
+
<literal>%d</literal>
815
+
</entry>
816
+
<entry>duration µs</entry>
817
+
</row>
818
+
<row>
819
+
<entry>
820
+
<literal>%e</literal>
821
+
</entry>
822
+
<entry>fastcgi env</entry>
823
+
</row>
824
+
<row>
825
+
<entry>
826
+
<literal>%f</literal>
827
+
</entry>
828
+
<entry>script</entry>
829
+
</row>
830
+
<row>
831
+
<entry>
832
+
<literal>%l</literal>
833
+
</entry>
834
+
<entry>content length</entry>
835
+
</row>
836
+
<row>
837
+
<entry>
838
+
<literal>%m</literal>
839
+
</entry>
840
+
<entry>method</entry>
841
+
</row>
842
+
<row>
843
+
<entry>
844
+
<literal>%M</literal>
845
+
</entry>
846
+
<entry>memory</entry>
847
+
</row>
848
+
<row>
849
+
<entry>
850
+
<literal>%n</literal>
851
+
</entry>
852
+
<entry>pool name</entry>
853
+
</row>
854
+
<row>
855
+
<entry>
856
+
<literal>%o</literal>
857
+
</entry>
858
+
<entry>header output</entry>
859
+
</row>
860
+
<row>
861
+
<entry>
862
+
<literal>%p</literal>
863
+
</entry>
864
+
<entry>PID</entry>
865
+
</row>
866
+
<row>
867
+
<entry>
868
+
<literal>%q</literal>
869
+
</entry>
870
+
<entry>query string</entry>
871
+
</row>
872
+
<row>
873
+
<entry>
874
+
<literal>%Q</literal>
875
+
</entry>
876
+
<entry>the glue between %q and %r</entry>
877
+
</row>
878
+
<row>
879
+
<entry>
880
+
<literal>%r</literal>
881
+
</entry>
882
+
<entry>request URI</entry>
883
+
</row>
884
+
<row>
885
+
<entry>
886
+
<literal>%R</literal>
887
+
</entry>
888
+
<entry>remote IP address</entry>
889
+
</row>
890
+
<row>
891
+
<entry>
892
+
<literal>%s</literal>
893
+
</entry>
894
+
<entry>status</entry>
895
+
</row>
896
+
<row>
897
+
<entry>
898
+
<literal>%T</literal>
899
+
</entry>
900
+
<entry>time</entry>
901
+
</row>
902
+
<row>
903
+
<entry>
904
+
<literal>%t</literal>
905
+
</entry>
906
+
<entry>time</entry>
907
+
</row>
908
+
<row>
909
+
<entry>
910
+
<literal>%u</literal>
911
+
</entry>
912
+
<entry>remote user</entry>
913
+
</row>
914
+
</tbody>
915
+
</tgroup>
916
+
</table>
609
917
</para>
610
918
</listitem>
611
919
</varlistentry>
...
...
@@ -641,10 +949,10 @@ php_admin_value[memory_limit] = 32M
641
949
</para>
642
950
<para>
643
951
Settings defined with <literal>php_admin_value</literal> and <literal>php_admin_flag</literal>
644
-
cannot be overriden with <function>ini_set</function>.
952
+
cannot be overridden with <function>ini_set</function>.
645
953
</para>
646
954
<para>
647
-
As of 5.3.3, PHP settings are also possible to be set in webserver.
955
+
PHP settings can be set in the webserver configuration.
648
956
<example>
649
957
<title>set PHP settings in nginx.conf</title>
650
958
<programlisting role="ini">
...
...
@@ -666,6 +974,12 @@ fastcgi_param PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";
666
974
<link linkend="listen-allowed-clients">listen.allowed_clients</link>.
667
975
</para>
668
976
</caution>
977
+
<note>
978
+
<simpara>
979
+
Pools are not a security mechanism, because they do not provide full
980
+
separation; e.g. all pools would use a single OPcache instance.
981
+
</simpara>
982
+
</note>
669
983
</para>
670
984
</sect2>
671
985

672
986