Autor Zpráva
nebob
Profil *
Mám jednoduchý testovací kód s imap_open, imap_search a imap_fetchstructure...

Nic složitého, jenom chci zjistit strukturu jedné zprávy s id 1 ve složce inbox...jiné tam nejsou...
echo imap_body($imap_spojeni,1) funguje a zobrazí "zkouška"...což je ok...

Pokud přidám do php kódu:
imap_fetchstructure($imap_spojeni,1);

A když spustím kód ve Firefoxu, pokusí se stáhnout php script, chrome kodí chybu ERR_EMPTY_RESPONSE a IE stránku nenačte....Podle mě dost zvláštní chyba, nesetkal se s ní už někdo?
nightfish_
Profil *
nebob:
Máš v tom kódu vůbec nějaký výstup (echo, print_r, ...)? Máš zapnuté zobrazování chyb v PHP?
nebob
Profil *
Jasně, bude to něco jinýho než začátečnická chyba....
jsem to pro jistotu i zkopíroval z manuálu...
je tam i kontrolní echo a funkce imap_body, která funguje...
pokud zakomentuju řádek s $data = imap_fetchstructure($imap_spojeni,1); tak to funguje bez problému...pokud ho odkomentuju tak ERR_EMPTY_RESPONSE...

nebob
nebob
Profil *
Je to vpodstatě tato chyba:
http://stackoverflow.com/questions/2007698/error-324-neterr-empty-response-unknown-error

Ale nikde jsem nenašel fungující fix...

Nebob
Davex
Profil
nebob:
Máš zapnuté to vypisování chyb?

ini_set('display_errors', 'on');
error_reporting(E_ALL);
nebob
Profil *
Jo, zkoušel jsem to různě. Aktuálně zkušební kód vypadá:

<?php
ini_set('display_errors', 'on');
error_reporting(E_ALL);
$mbox = imap_open('{imap.xxx.sk:143/novalidate-cert}','xxx@xxx.sk','xxx');
if ($mbox === false)
{
  echo imap_last_error();
  die();
}else{
/*imap_append($mbox, "{imap.example.org}INBOX.Drafts"
                   , "From: me@example.com\r\n"
                   . "To: you@example.com\r\n"
                   . "Subject: test\r\n"
                   . "\r\n"
                   . "this is a test message, please ignore\r\n"
                   );     */

$ids = imap_search($mbox, 'ALL', SE_UID);
foreach($ids as $id){
  //echo imap_body($mbox,$id);
  echo $id;
  $msg = imap_fetchstructure($mbox,$id,FT_UID); //Tato fce dělá problémy 
  echo "pocet casti:".$msg->parts;
  }

$status = imap_status($mbox, "{xxx}INBOX.Drafts", SA_ALL);
if ($status) {
  echo "Messages:   " . $status->messages    . "<br />\n";
  echo "Recent:     " . $status->recent      . "<br />\n";
  echo "Unseen:     " . $status->unseen      . "<br />\n";
  echo "UIDnext:    " . $status->uidnext     . "<br />\n";
  echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";
} else {
  echo "imap_status failed: " . imap_last_error() . "\n";
}  
imap_close($mbox);  
}

?>

Chyba může být jedině při otevírání imap_open, ale připojení je funkční, když imap_body funguje na tu samou zprávu, nikde jinde se snad taková chyba udělat nedá, aby to nic neodpovědělo(324)...

nebob
Davex
Profil
nebob:
Jo, zkoušel jsem to různě.
Je potřeba se dopracovat k nějaké chybové hlášce. Pokud PHP po povolení zobrazování chyb nic nevypíše, tak jsi ve slepé uličce a pravděpodobně se nepohneš dál, protože tato funkce mi funguje bez problémů.
nebob
Profil *
Davex: Zkoušel jsem to z jiného zkušebního hostingu od úplně jiné firmy a funguje to bez chyb na ten samý IMAP server a je to ten samý zkušební php kód - tzn. míč je na straně hostingu.

Budu to muset vyřešit s podporou našeho hostingu, musí to být chyba na jejich straně. Sám to nevyřeším, možná nemají něco správně nainstalováno nebo nastaveno. Když mi napíší čím to bylo, hodím to sem pro info, kdyby měl někdo v budoucnu stejný problém...

nebob
nebob
Profil *
Pravděpodobně byla chyba způsobena verzí php, která chybně funguje s IMAP, tak mi to bylo řečeno.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: