Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 22 additions & 13 deletions features/commandline.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b08b472de7041be8dbae153556b714efa93f20c0 Maintainer: rjhdby Status: ready -->
<!-- EN-Revision: 14f641dc7a2eb3ab1f97062f0a74f7cdb59ae708 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="features.commandline" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Работа с PHP из командной строки</title>
Expand Down Expand Up @@ -1679,19 +1679,28 @@ php >
если не указали опцию -t для переназначения корневого документа.
При запросе URI, который не указывает на конкретный файл, возвращается
файл index.php или index.html в заданной директории. При недоступности файлов
поиск файлов продолжается в родительской директории, и так далее,
поиск продолжается в родительских каталогах,
пока веб-сервер не найдёт файл или не достигнет корня документа. При обнаружении
файла index.html веб-сервер возвращает содержимое файла, а при обнаружении файла index.php — возвращается результат обработки.
При этом в элемент $_SERVER['PATH_INFO']
записывается последняя часть URL-адреса, иначе возвращается 404-й код ответа.
записывается последняя часть URL-адреса, иначе в ответе возвращается 404-й код статуса.
</para>

<note>
<simpara>
Начиная с PHP 8.4.0 поиск индексного файла выполняется даже при запросе пути,
который похож на путь к файлу — с точкой в последнем сегменте,
по которому не получилось найти файл. Раньше такие запросы пропускали поиск
и сразу возвращали в ответе 404-й код статуса.
</simpara>
</note>

<para>
Если PHP-файл указывается в командной строке, когда запускается веб-сервер,
то он рассматривается как скрипт "маршрутизации" (router). Скрипт выполняется
в самом начале каждого HTTP-запроса. Если этот скрипт возвращает
&false;, то запрашиваемый ресурс возвращается как есть.
В противном случае браузеру будет возвращён вывод этого скрипта.
PHP-файл, который указывается в командной строке при запуске веб-сервера,
интерпретируется как скрипт «маршрутизации». Скрипт выполняется
в самом начале каждого HTTP-запроса. При возврате скриптом
значения &false; запрашиваемый ресурс возвращается как есть;
иначе в браузер возвращается вывод скрипта.
</para>

<para>
Expand Down Expand Up @@ -1864,11 +1873,6 @@ if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
$ php -S localhost:8000 router.php
]]>
</programlisting>
<warning>
<para>
Встроенный веб-сервер не должен использоваться в общедоступной сети.
</para>
</warning>
</example>

<example>
Expand Down Expand Up @@ -1933,6 +1937,11 @@ $ php -S localhost:8000 router.php
$ php -S 0.0.0.0:8000
]]>
</programlisting>
<warning>
<para>
Встроенный веб-сервер не должен использоваться в общедоступной сети.
</para>
</warning>
</example>

</section>
Expand Down
Loading