Это относится только к интерпретатору 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
Ответ 2
Как вы можете видеть с помощью клавиши -q php подавляет подачу заголовков (добавляет некоторые новые строки на выходе, но делает их более читаемыми):