Как я могу остановить PHP от возврата заголовков при выполнении из командной строки?

Это может быть смешным вопросом, но это беспокоило меня какое-то время. У меня есть почтовый форвардер, подключенный к PHP-скрипту, он получает отлично, однако у меня есть следующая ошибка, отправленная мне мгновенно:

A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: pipe to |/home/[webroot]/public_html/external/mobile/email.php generated by mobile@[mydomain] The following text was generated during the delivery attempt: X-Powered-By: PHP/5.2.13 Content-type: text/html 

Как вы можете видеть, Exim считает, что ответ заголовка является ошибкой из сценария, который у меня есть. Сценарий может получать электронную почту отлично от php: // stdin, но Exim быстро отвечает с ошибкой.

Кроме того,

  • Он работает с консоли, а не с Apache, поэтому HTAccess или настройка Apache скорее всего ничего не сделает.
  • Я не могу найти какое-либо решение или кого-либо с той же проблемой.

Поэтому мой вопрос: как мне избавиться от этих двух заголовков?

Спасибо, ~ Джонни

Редактировать, Источник:

  #!/usr/bin/php <?php $fd = fopen("php://stdin", "r"); $email = ""; while (!feof($fd)) { $email .= fread($fd, 1024); } fclose($fd); $dat = fopen(dirname(__FILE__).'/test.txt', 'w'); fwrite($dat, $email); fclose($dat); 

Related of "Как я могу остановить PHP от возврата заголовков при выполнении из командной строки?"

похоже, что вы используете php-cgi, в то время как вам нужен php-cli (просто «php»). Запустите php -v, чтобы убедиться. Если используется cgi, попробуйте параметр «-q».

Имел ту же проблему. Мои хосты сказали мне, что я могу использовать php-5.4-cli (обычно я использовал php-5.4).

Добавление -cli работало для меня.