Что значит запускать PHP в тихом режиме?

Вы можете запустить PHP с помощью командной строки -q . В руководстве говорится:

Тихий режим. Запретить вывод заголовка HTTP (только CGI).

Что это на самом деле означает на практике?

Related of "Что значит запускать PHP в тихом режиме?"

Это касается только PHP-интерпретатора, созданного против CGI SAPI. Эта версия отправляет несколько базовых HTTP-заголовков перед любым фактическим выходом:

 X-Powered-By: PHP/5.3.3-1ubuntu9.3 Content-type: text/html "(echo) What I actually wanted to have" 

Таким образом, в основном флаг -q командной строки предотвращает запись header() в stdout.

Целью является использование двоичного файла php-cgi вместо варианта CLI php для консольных скриптов. Обычно вы видите следующие скрипты в таких скриптах, чтобы заставить php-cgi вести себя как -cli-версия:

 #!/usr/bin/php-cgi -qC 

Как вы можете видеть, с -q key php подавляет подачу заголовков (добавлено несколько новых строк на выходе, но чтобы сделать их более читаемыми):

 zerkms@l12 ~ $ cat file.php <?php header('Location: http://stackoverflow.com'); echo 42; zerkms@l12 ~ $ php file.php Status: 302 Moved Temporarily X-Powered-By: PHP/5.2.17 Location: http://stackoverflow.com Content-type: text/html 42 zerkms@l12 ~ $ php -q file.php 42