features/commandline.xml
8cb32bd2c0f0b8a95ebb84b211920fe10d4c2679
...
...
@@ -5,7 +5,7 @@
5
5
<titleabbrev>Command line usage</titleabbrev>
6
6
7
7
<!--Introduction: {{{-->
8
-
<section xml:id="features.commandline.introduction">
8
+
<section xml:id="features.commandline.introduction" annotations="chunk:false">
9
9
<title>Introduction</title>
10
10
11
11
<para>
...
...
@@ -462,6 +462,7 @@ $ php -c /custom/directory/custom-file.ini my_script.php
462
462
</screen>
463
463
</para>
464
464
<para><example>
465
+
<title>Example of using <literal>-d</literal> to set an INI setting</title>
465
466
<screen>
466
467
<![CDATA[
467
468
# Omitting the value part will set the given configuration directive to "1"
...
...
@@ -506,13 +507,6 @@ string(15) "doesntmakesense"
506
507
<option>-f</option> is optional and may be omitted - providing just
507
508
the filename to execute is sufficient.
508
509
</para>
509
-
<note>
510
-
<para>
511
-
To pass arguments to a script, the first argument must be
512
-
<literal>--</literal>, otherwise PHP will interpret them as PHP
513
-
options.
514
-
</para>
515
-
</note>
516
510
</entry>
517
511
</row>
518
512
<row>
...
...
@@ -1046,12 +1040,6 @@ $ php -f my_script.php
1046
1040
restriction on which files can be executed; in particular, the filename
1047
1041
is not required have a <literal>.php</literal> extension.
1048
1042
</para>
1049
-
<note>
1050
-
<para>
1051
-
If arguments need to be passed to the script when using
1052
-
<option>-f</option>, the first argument must be <literal>--</literal>.
1053
-
</para>
1054
-
</note>
1055
1043
</listitem>
1056
1044
<listitem>
1057
1045
<para>
...
...
@@ -1107,8 +1095,8 @@ $ some_application | some_filter | php | sort -u > final_output.txt
1107
1095
first index (zero) always contains the name of the script as called from the
1108
1096
command line. Note that, if the code is executed in-line using the command
1109
1097
line switch <option>-r</option>, the value of <varname>$argv[0]</varname>
1110
-
will be just a dash (<literal>-</literal>). The same is true if the code is
1111
-
executed via a pipe from <literal>STDIN</literal>.
1098
+
will be <literal>"Standard input code"</literal>; prior to PHP 7.2.0, it was a dash (<literal>"-"</literal>) instead. The same is true if the code is
1099
+
executed via a pipe from <constant>STDIN</constant>.
1112
1100
</para>
1113
1101

1114
1102
<para>
...
...
@@ -1264,7 +1252,7 @@ This is a command line PHP script with one option.
1264
1252
<para>
1265
1253
<example>
1266
1254
<title>Batch file to run a command line PHP script (script.bat)</title>
1267
-
<programlisting role="shell">
1255
+
<programlisting role="winbat">
1268
1256
<![CDATA[
1269
1257
@echo OFF
1270
1258
"C:\php\php.exe" script.php %*
...
...
@@ -1594,6 +1582,23 @@ php >
1594
1582
defined before called.
1595
1583
</para>
1596
1584
</note>
1585
+

1586
+
<section xml:id="features.commandline.interactive.mode">
1587
+
<title>Interactive mode</title>
1588
+
<para>
1589
+
If the readline extension is not available, prior to PHP 8.1.0, invoking the &cli.sapi; with the
1590
+
<option>-a</option> option provided the interactive mode. In this mode, a
1591
+
complete PHP script is supposed to be given via STDIN, and after termination
1592
+
with <literal>CRTL+d</literal> (POSIX) or <literal>CTRL+z</literal>
1593
+
followed by <literal>ENTER</literal> (Windows), this script is evaluated.
1594
+
This is basically the same as invoking the &cli.sapi; without the <option>-a</option>
1595
+
option.
1596
+
</para>
1597
+
<para>
1598
+
As of PHP 8.1.0, invoking the &cli.sapi; with the <option>-a</option> option
1599
+
fails, if the readline extension is not available.
1600
+
</para>
1601
+
</section>
1597
1602
</section>
1598
1603
<!--}}}-->
1599
1604

...
...
@@ -1640,95 +1645,82 @@ php >
1640
1645
</para>
1641
1646

1642
1647
<para>
1643
-
Standard MIME types are returned for files with extensions: .3gp,
1644
-
.apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .gif, .gz,
1645
-
.gzip, .htm, .html, .ics, .jpe, .jpeg, .jpg, .js, .kml, .kmz,
1646
-
.m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg,
1647
-
.ogv, .pdf, .pdf, .png, .pps, .pptx, .qt, .svg, .swf, .tar, .text,
1648
-
.tif, .txt, .wav, .webm, .wmv, .xls, .xlsx, .xml, .xsl, .xsd, and .zip.
1648
+
Standard MIME types are returned for files with extensions:
1649
+
<simplelist type="inline">
1650
+
<member><literal>.3gp</literal></member>
1651
+
<member><literal>.apk</literal></member>
1652
+
<member><literal>.avi</literal></member>
1653
+
<member><literal>.bmp</literal></member>
1654
+
<member><literal>.css</literal></member>
1655
+
<member><literal>.csv</literal></member>
1656
+
<member><literal>.doc</literal></member>
1657
+
<member><literal>.docx</literal></member>
1658
+
<member><literal>.flac</literal></member>
1659
+
<member><literal>.gif</literal></member>
1660
+
<member><literal>.gz</literal></member>
1661
+
<member><literal>.gzip</literal></member>
1662
+
<member><literal>.htm</literal></member>
1663
+
<member><literal>.html</literal></member>
1664
+
<member><literal>.ics</literal></member>
1665
+
<member><literal>.jpe</literal></member>
1666
+
<member><literal>.jpeg</literal></member>
1667
+
<member><literal>.jpg</literal></member>
1668
+
<member><literal>.js</literal></member>
1669
+
<member><literal>.kml</literal></member>
1670
+
<member><literal>.kmz</literal></member>
1671
+
<member><literal>.m4a</literal></member>
1672
+
<member><literal>.mov</literal></member>
1673
+
<member><literal>.mp3</literal></member>
1674
+
<member><literal>.mp4</literal></member>
1675
+
<member><literal>.mpeg</literal></member>
1676
+
<member><literal>.mpg</literal></member>
1677
+
<member><literal>.odp</literal></member>
1678
+
<member><literal>.ods</literal></member>
1679
+
<member><literal>.odt</literal></member>
1680
+
<member><literal>.oga</literal></member>
1681
+
<member><literal>.ogg</literal></member>
1682
+
<member><literal>.ogv</literal></member>
1683
+
<member><literal>.pdf</literal></member>
1684
+
<member><literal>.png</literal></member>
1685
+
<member><literal>.pps</literal></member>
1686
+
<member><literal>.pptx</literal></member>
1687
+
<member><literal>.qt</literal></member>
1688
+
<member><literal>.svg</literal></member>
1689
+
<member><literal>.swf</literal></member>
1690
+
<member><literal>.tar</literal></member>
1691
+
<member><literal>.text</literal></member>
1692
+
<member><literal>.tif</literal></member>
1693
+
<member><literal>.txt</literal></member>
1694
+
<member><literal>.wav</literal></member>
1695
+
<member><literal>.webm</literal></member>
1696
+
<member><literal>.wmv</literal></member>
1697
+
<member><literal>.xls</literal></member>
1698
+
<member><literal>.xlsx</literal></member>
1699
+
<member><literal>.xml</literal></member>
1700
+
<member><literal>.xsl</literal></member>
1701
+
<member><literal>.xsd</literal></member>
1702
+
<member><literal>.zip</literal></member>
1703
+
</simplelist>
1704
+
.
1649
1705
</para>
1650
1706

1651
-

1652
-
<table>
1653
-
<title>Changelog: Supported MIME Types (file extensions)</title>
1654
-
<tgroup cols="2">
1655
-
<thead>
1656
-
<row>
1657
-
<entry>&Version;</entry>
1658
-
<entry>&Description;</entry>
1659
-
</row>
1660
-
</thead>
1661
-
<tbody>
1662
-
<row>
1663
-
<entry>5.5.12</entry>
1664
-
<entry>
1665
-
.xml, .xsl, and .xsd
1666
-
</entry>
1667
-
</row>
1668
-
<row>
1669
-
<entry>5.5.7</entry>
1670
-
<entry>
1671
-
.3gp, .apk, .avi, .bmp, .csv, .doc, .docx, .flac, .gz, .gzip,
1672
-
.ics, .kml, .kmz, .m4a, .mp3, .mp4, .mpg, .mpeg, .mov, .odp, .ods,
1673
-
.odt, .oga, .pdf, .pptx, .pps, .qt, .swf, .tar, .text, .tif, .wav,
1674
-
.wmv, .xls, .xlsx, and .zip
1675
-
</entry>
1676
-
</row>
1677
-
<row>
1678
-
<entry>5.5.5</entry>
1679
-
<entry>
1680
-
.pdf
1681
-
</entry>
1682
-
</row>
1683
-
<row>
1684
-
<entry>5.4.11</entry>
1685
-
<entry>
1686
-
.ogg, .ogv, and .webm
1687
-
</entry>
1688
-
</row>
1689
-
<row>
1690
-
<entry>5.4.4</entry>
1691
-
<entry>
1692
-
.htm and .svg
1693
-
</entry>
1694
-
</row>
1695
-
</tbody>
1696
-
</tgroup>
1697
-
</table>
1698
-

1699
-

1700
-
<table>
1701
-
<title>Changelog</title>
1702
-
<tgroup cols="2">
1703
-
<thead>
1704
-
<row>
1705
-
<entry>&Version;</entry>
1706
-
<entry>&Description;</entry>
1707
-
</row>
1708
-
</thead>
1709
-
<tbody>
1710
-
<row>
1711
-
<entry>7.4.0</entry>
1712
-
<entry>
1713
-
You can configure the built-in webserver to fork multiple workers
1714
-
in order to test code that requires multiple concurrent requests to
1715
-
the built-in webserver. Set the <envar>PHP_CLI_SERVER_WORKERS</envar>
1716
-
environment variable to the number of desired workers before starting
1717
-
the server.
1718
-
This is not supported on Windows.
1719
-
<warning>
1720
-
<para>
1721
-
This <emphasis>experimental</emphasis> feature is <emphasis>not</emphasis>
1722
-
intended for production usage. Generally, the built-in Web Server is
1723
-
<emphasis>not</emphasis> intended for production usage.
1724
-
</para>
1725
-
</warning>
1726
-
</entry>
1727
-
</row>
1728
-
</tbody>
1729
-
</tgroup>
1730
-
</table>
1731
-

1707
+
<simpara>
1708
+
As of PHP 7.4.0, the built-in webserver can be configured to fork multiple
1709
+
workers in order to test code that requires multiple concurrent requests
1710
+
to the built-in webserver.
1711
+
Set the <envar>PHP_CLI_SERVER_WORKERS</envar> environment variable to the
1712
+
number of desired workers before starting the server.
1713
+
</simpara>
1714
+
<note>
1715
+
<simpara>This feature is not supported on Windows.</simpara>
1716
+
</note>
1717
+
<warning>
1718
+
<para>
1719
+
This <emphasis>experimental</emphasis> feature is <emphasis>not</emphasis>
1720
+
intended for production usage. Generally, the built-in Web Server is
1721
+
<emphasis>not</emphasis> intended for production usage.
1722
+
</para>
1723
+
</warning>
1732
1724

1733
1725
<example>
1734
1726
<title>Starting the web server</title>
...
...
@@ -1903,7 +1895,7 @@ $ php -S 0.0.0.0:8000
1903
1895
<row>
1904
1896
<entry><link linkend="ini.cli-server.color">cli_server.color</link></entry>
1905
1897
<entry>"0"</entry>
1906
-
<entry>PHP_INI_ALL</entry>
1898
+
<entry><constant>INI_ALL</constant></entry>
1907
1899
<entry></entry>
1908
1900
</row>
1909
1901
</tbody>
1910
1902