Opencart Cannot modify header information hatası çözümü

Opencart v1.4.9.6 da denenmiştir.

Opencart bazen çok uğraştırıyor.. Aşağıdaki hatayı dil dosyaları veya modül eklentilerinden sonra almanız olası..

Warning: Cannot modify header information – headers already sent by (output started at  /dizin/) in /dizin/system/engine/controller.php on line 27

/system/engine/controller.php dosyasında hatada da görüldüğü gibi 27. satırda  aşağıdaki kodu bulun:

   protected function redirect($url) {
header('Location: ' . str_replace('&', '&', $url));
exit();
}

ve bu kodla değiştirin:

protected function redirect($url) {
// header('Location: ' . str_replace('&', '&', $url));
echo"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=".str_replace('&amp;', '&', $url)."  \">";
exit();
}

sorun çözülmüştür..

19 yorum

  1. Merhabalar, bu hatayı bende alıyorum ve bunun yanı sıra aşağıda ki hataları da alıyorum. acaba bu vermiş olduğunuz kodlar hepsine çözüm olur mu?

    2011-11-18 19:47:41 – PHP Warning: session_start() [function.session-start]: open(/tmp/sess_41110e6294e49226f1f0a29f0758bb11, O_RDWR) failed: No space left on device (28) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-18 19:47:41 – PHP Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-18 19:47:41 – PHP Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-18 19:47:41 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/index.php on line 168
    2011-11-18 19:47:41 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/currency.php on line 45
    2011-11-20 6:01:34 – PHP Notice: Undefined index: order_id in /home/sembolav/public_html/catalog/controller/payment/cod.php on line 29
    2011-11-20 10:08:25 – PHP Warning: session_start() [function.session-start]: open(/tmp/sess_8f1421aee5d3db467368e0be401bdbef, O_RDWR) failed: No space left on device (28) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-20 10:08:25 – PHP Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-20 10:08:25 – PHP Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-20 10:08:25 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/index.php on line 168
    2011-11-20 10:08:25 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/currency.php on line 45
    2011-11-20 10:08:25 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/engine/controller.php on line 27

    1. Vermiş olduğum kod opencart versiyon v1.4.9.6’da /system/engine/controller.php sistem dosyasında, tema veya modülden kaynaklanan uyumsuzluğundan kaynaklanan Cannot modify header information hatasını giderebilir, aldığınız hatalar muhtelif ama yine de denemenirde yarar var. Bu arada kurduğunuz mağaza için Opencart ın en son versiyonunu kullanmanızı önerebilirim.

  2. Merhaba,
    1.4.9.6 sürümünü kullanmaktayım, 1.5.x.x serisi itici geliyor. Hatalar ürün sayfasında ”sepete ekle” denilince geliyor, ama her zaman değil 10larca kere deniyorum 1 kere yaşanıyor. default tema kullanıyorum, kullandığım çok modül yok ama en aza indiricem. Vermiş olduğunuz kodu uygulıyım, Başka bir sitemi silip tekrar kurdum herşeyi, onda da aynı modülleri kullanıyorum ve onda da gene hatalar gelmeye başladı.

    Kullandığım modüller:
    Gelişmiş Slayt
    deadcow SEO
    SidebarMenu
    Mini Ürün Vitrini
    excel export/import

    Aldığım hatalar:

    2011-11-23 22:50:43 – PHP Warning: session_start() [function.session-start]: open(/tmp/sess_1fffca4ca168e5d5730cbc3655a99078, O_RDWR) failed: No space left on device (28) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-23 22:50:43 – PHP Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-23 22:50:43 – PHP Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-23 22:50:43 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/index.php on line 168
    2011-11-23 22:50:43 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/currency.php on line 45
    2011-11-24 0:54:03 – PHP Warning: session_start() [function.session-start]: open(/tmp/sess_fc17cf639791f77a1f8ee31692107616, O_RDWR) failed: No space left on device (28) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-24 0:54:03 – PHP Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-24 0:54:03 – PHP Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-24 0:54:03 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/index.php on line 168
    2011-11-24 0:54:03 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/currency.php on line 45
    2011-11-24 13:42:44 – PHP Warning: unlink(/home/dopdolur/public_html/system/cache/cache.product.featured.1.0.5.1322145073) [function.unlink]: No such file or directory in /home/dopdolur/public_html/system/library/cache.php on line 50

  3. opencartın kendi içersinde ki paypal standart aktif durumda sadece. iki tane sitem var ve benzer hatalar ikisindede aynı. Vermiş olduğunuz koduda uyguladım. Şimdide başıma ”Cannot send session cache limiter” diye birşey çıktı 🙁

    2011-11-25 8:33:39 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/index.php on line 168
    2011-11-25 8:33:39 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/currency.php on line 45

    2011-11-25 16:34:40 – PHP Warning: session_start() [function.session-start]: open(/tmp/sess_bc93c193043a98b21d4922a9dd6b5dab, O_RDWR) failed: No space left on device (28) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-25 16:34:40 – PHP Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/session.php on line 11
    2011-11-25 16:34:40 – PHP Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/dopdolur/public_html/index.php:92) in /home/dopdolur/public_html/system/library/session.php on line 1

    1. Bu tip hataları ancak ilgili kodları gözden geçirerek çözebilirsiniz. Ancak şu kadarını söyleyebilirim ki kurduğunuz eklentilerin kullandığınız opencart versiyonuna uygun olması önemli. Opencartın hiç bir versiyonunda, ilk kurduğunuzda, eğer hostunuz gereksinimleri karşılıyorsa hata almazsınız. Versiyon değişikliklerinde çekirdek yapıda ciddi değişiklikler olabiliyor. Opencart Türk bankaları için halihazırda bir kredi kartı ödeme modülüyle gelmediği için yalnızca sonradan bu modülü kurmanız gerekebilir. Buunun dışında opencart hiç bir ekelntiye geker kalmadan kur ve çalıştır bir sistem olarak bir sanal alışveriş sistemi için gereken bütün modülleri içeriyor. Zaten dünyada en çok tutlan alışveriş scripinin Opencart olasının nedenlerinden biri de bu. Eğer opencartı müşterilerinizin isteklerine göre modifiye etmeniz gerekirse, bunu zaten yeterli olan fonksiyonları üzerinden değil, css ve arayüzde kullanılan imajlarla yaparsanız ileride karşınıza çıkacak hatalardan kurtulmuş olursunuz.

  4. Hayır kurulu değil. Bişeyler denedim ama şuan sürekli olarak aldığım tek hata var.

    2011-11-27 19:38:36 – PHP Warning: session_start() [function.session-start]: open(/tmp/sess_b6c9f7983aeb8e4446052d64ec0f0d35, O_RDWR) failed: No space left on device (28) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-27 19:38:36 – PHP Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-27 19:38:36 – PHP Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/session.php on line 11
    2011-11-27 19:38:36 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/index.php on line 168
    2011-11-27 19:38:36 – PHP Warning: Cannot modify header information – headers already sent by (output started at /home/sembolav/public_html/index.php:92) in /home/sembolav/public_html/system/library/currency.php on line 45

  5. 1.5’e geçtim 1.4’te sunucu dahi değiştim ama hatalardan kurtulamadım. 1.5’i eski sürüme görsel olarak benzettim. Sayfa ile ilgili kodlamalarımda yapmamı tavsiye edebileceğiniz şeyler var mı acaba Özden Bey?

    1. Öncelikle server konfigürasyonunuzun opencart için uygun olduğundan emin olun. Sorunun çözümüne buradan başlayın. Sonra versiyonları deneyin.

  6. özden bey merhaba bendede farklı bir hata var ürünü sepete kliyorum ancak sepetim ve üst kısımdaki sepet bölümünde sil butonu aktif görevini yerine getiremiyor adres bardada müthiş kalabalık bir uzama oluşuyor

  7. Kardeş çok teşekkürler 1.5.5.1 de denedim bütün hatalar ortadan kalktı süpersiniz. Sizlerin eksikliği olmasın inş …

  8. Selamlar,
    opencart 2.0.1.1 de

    header(‘Location: ‘ . str_replace(array(‘&’, “n”, “r”), array(‘&’, ”, ”), $url), true, $status);

    olan kısmı

    echo””;

    ile değiştirdim. responsive.php line 17 hatasını çözdü, tşk.ler.

  9. kusura bakmayın, bir türlü yazıp da gönderemedim, doğrusu şu olacaktı:

    echo””;

    ile değiştirdim…..

Yorum Gönderin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir