To może być śmieszne pytanie, ale od jakiegoś czasu mnie to niepokoi. mam spedytor elektronicznej rurami do skryptu PHP, odbiera doskonale, jednak mam następujący błąd odsyłany do mnie natychmiast:W jaki sposób mogę zatrzymać PHP od zwracania nagłówków po wykonaniu z linii poleceń?
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 [email protected][mydomain]
The following text was generated during the delivery attempt:
X-Powered-By: PHP/5.2.13
Content-type: text/html
Jak widać, Exim myśli odpowiedzi nagłówek błąd ze skryptu Mam. Skrypt może otrzymać wiadomość e-mail idealnie od php: // stdin, ale Exim odpowiada szybko z błędem.
Plus,
- To działa z konsolą, nie tak Apache .htaccess lub konfiguracji Apache najprawdopodobniej zrobi nic.
- Nie mogę znaleźć żadnego rozwiązania ani nikogo z tym samym problemem.
Moje pytanie brzmi: jak pozbyć się tych dwóch nagłówków?
Dzięki, ~ Jonny
Edycja, Źródło:
#!/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);
O ile próbowałem z php -v spamował z powrotem "Content-type: text/html", poszedłem dalej i próbowałem go uruchomić z opcją -q i nadal zwracał nagłówki. Exim nadal jest dość drażliwy. – JonnyLitt
spróbuj dodać nagłówek ("Content-type: '); do początku skryptu. Również kasy http://www.php.net/manual/en/function.header-remove.php –
eep, Czy to, problem jest: Nie mam PHP <= 5.3.0 (Needed for Header_remove), raczej wersja 5.2.4. Nie mogę aktualizować, ponieważ jestem na współdzielonym hoście i argumentowali przeciwko temu, że jest paranoikiem na temat błędów w nowszych wersjach PHP. – JonnyLitt