Jump to content
php.lv forumi

Headers allready sent - uz viena servera rāda, uz otra - nerāda un arī


Cibiņš

Recommended Posts

Zinu ka daudzreiz šāda skābene ir ravēta šajā forumā, taču nevaru saprast kapēc serveris, uz kura ir uzstādīts CPANEL, kad lapā piemēram apgreido produkta statusu vai dzēš produktu, izmet erroru "Headers allready sent" un nerefrešo lapu, bet uz cita servera šo erroru nebliež ārā un viss notiek kā vajag - ieraksts tiek apgreidots vai dzēsts un lapa-norefrešota.

 

Esmu ievērojis ka uz dažiem serveriem display_error iekš php.ini ir uzsetots uz OFF bet šim CPANEĻa serverim ir STDOUT tur kur vajadzētu būt ON vai OFF. Kā lai saprot kas pa sūdiem, ko vainot - serveri vai lapu? Jo kā jau minēju - uz citiem serveriem šī lapa iet bez problēmām.

 

Savāda ir arī failu ņemšana no direktorijām uz tā CPANEĻa servera, ka visu laiku jāliek absolūto faila novietojumu. nevis relatīvo. Piem includi gļuko tad jāliek ir absolūto faila novietojumu..

Edited by Cibiņš
Link to comment
Share on other sites

Nu, kad parādās headers sent, tur jau var redzēt kļūdas ziņojumā, kurā tieši vietā skripts ir izvadījis kaut ko ārā, tur arī meklē gļuku.

 

Ja tur tiek rādīts, ka 0 vai 1 (neatceros). rindiņa izvadīja, tad iespējams, ka failiem ir saglabājies UTF-8 BOM simbols.

 

Galu galā, man liekas, ka tēma par headers sent jau ir piesprausta iesācēju vai šajā pašā foruma kategorijā.

Edited by briedis
Link to comment
Share on other sites

Iespējams, ka uz tā, uz kura viss strādā ir izslēgta erorru ziņošana.

 

Piemēram, ir kods:

 

$x = $_POST['x'];
// cits kods
header('Location:...

 

Teiksim, normālā gadījumā, ja nav padots POST x mainīgais, tad tiek izsaukts notice, ka nav definēts x indekss.

 

Ja ir ieslēgta erroru parādīšanās, tad header nenostrādās, jo "kaut kas jau bija izvadīts" pirms header() metodes.

Ja kļūdu parādīšanās ir izslēgta, viss nostrādās, jo errors netiks parādīts.

 

Skaties log failus, kādas kļūdas ir. Pie vainas visdrīzāk būs sūdīgi sarakstīts kods.

 

Vari mēģināt koda sākumā ielikt ini_set('display_errors', false), kam vajadzētu izslēgt kļūdu rādīšanu.

 

Un sāc ar to, ka lasi kļūdas ziņojumu, tur ir minēts, kurā failā, kurā rindiņā tika kaut kas izvadīts.

Kļūda ziņojums ir šāds: [..]headers already sent (output started at fails.php:RINDIŅA)[..]

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...