CodeIgniter Proje 303/Compression Hata verilmesi

4 Cevap php

Kurulum, yerel kalkınma (LAMP yığın) için bir CodeIgniter tabanlı proje için çalışıyor, ve tüm yapılandırma dosyası güncelleştirildi kez (yani ben başarılı CodeIgniter anlamlı önyükleme hataları vardı), benim tarayıcılarda bu hatayı alıyorum:

  • Chrome
    Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error.
  • Firefox
    Content Encoding Error: The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.

Sadece dosya almak için wget kullanarak, ince hiçbir hata çalışıyor ve ben bekliyordum içeriği olsun. Bu CI ve Server veya proje ile garip sadece bir şeyle şey olup olmadığından emin değil. Has anyone seen this before?

4 Cevap

CodeIgniter çıkışını Gzip Sıkıştırma kendi yöntemi var gibi görünüyor (Neden, bilmiyorum, ama ben CI ile çok aşina değilim.)

PHP hata iletileri sıkıştırılmış içerik berbat zaman göre this forum entry, böyle bir hata oluşabilir. Için error_reporting ayarlanması E_ALL ^ E_NOTICE orada hile yaptı.

Güncelleme: Ayrıca CI yapılandırma ayarı var gibi görünüyor:

$config['compress_output'] = FALSE;

Değil emin eğer benim yorum burada değerlidir, ama ben sizinle paylaşmak istiyorum benzer bir sorun, size bazı yardımcı olabilir olabilir bilir vardı.

Projem için, benim CI yapılandırma dosyasında GZIP aktif adres:

$config['compress_output'] = TRUE;

Config dosyasındaki iyi söylenir:

| Enables Gzip output compression for faster page loads. When enabled, | the output class will test whether your server supports Gzip. | Even if it does, however, not all browsers support compression | so enable only if you are reasonably sure your visitors can handle it. | | VERY IMPORTANT: If you are getting a blank page when compression is enabled it | means you are prematurely outputting something to your browser. It could | even be a line of whitespace at the end of one of your scripts. For | compression to work, nothing can be sent before the output buffer is called | by the output class. Do not 'echo' any values with compression enabled. | */

"Etkin sıkıştırma ile etmeyin 'echo' herhangi bir değer." burada çok önemlidir.

Ancak, benim işlev benim Ajax çağrısı için bir json kodlanmış dizi yankı gerekiyor.

Düzeltmek için, ben işlevi içine benim "echo" sonra "çıkış" fonksiyonu ekledik.

    echo json_encode($arr_ajaxResults);
    exit();

Şimdi, bu girişi ile, ben artık "İçerik kodlama" hata yüz yok.

Ben aynı sorunu var adamlar yardımcı olabilir umuyoruz.

IIS kullanıcıları için PHP Yöneticisi günlüğüne içindeki hataları kontrol etmek yararlı olacaktır.

Benim için hata engellendi dosya yazma izni oldu. Gerekli izinleri vermek zorunda kaldı.

Benim çözüm:

metin editörleri normalde ascii kodlamalar kullanın, ben notepad + + ile dosyayı açın ve sayfa kodlamasını değiştirmek: utf-8 without BOM. Ve sayfa artık iyi çalışıyor.