Ölüm beyaz ekran!

10 Cevap php

Yeni bir gelişme ortamına yüklenen bir CodeIgniter uygulama hata ayıklama sonra, ben daha uygun bir şey ile beyaz ekranları görünce kafayı başladı. Ben bu neden olmuş hataların her biri çözmek mümkün olmuştur, ama ciddi yol çok uzun zaman almış.

PHP error_reporting(E_ALL) & display_errors", 1 hem de ayarlanır. Ben daha çıktı alma umuduyla Xdebug yüklü, ama hayır. Benim günlüğü ayarları da çalışıyor, ama hiçbir şey günlüğüne yazılır.

Yerine tam bir beyaz ekran üzerinden basılmış bilgilendirici bir şey almak için bir yolu var mı? Kesinlikle benim zaman bu neden sonuçta hataları çözme harcanan kısaltmak istiyorsunuz?

Thanks a lot!

Reference: Why does Code Igniter give me a white page?

10 Cevap

Benim soru zamandan beri, hiçbir şey hataları her zaman burada ve orada beyaz ekranlar atmak görünüyor PHP ile outputted emin görünüyor, öğrendim. Ne olursa olsun PHP'nin ini ayarları.

Ben iyi çözüm ancak bu hata günlüğü kolayca erişilebilir bir dosyaya konur sağlamak ve uygulamayı monitoredby için aşağıdaki satırı kullanmak olduğunu öğrendim:

ini_set('error_log', MYPATH .'logs/errorlog.log'); 

Beyaz ekranları göründüğünde Bildiğim kadarıyla bunu test ettik, - o da bu errorlog oturum alır. Terslik ne olur bilmek kolay yolu gibi görünüyor.

If there's a fatal compilation error, then you may well get a blank page. Try doing a

php -l <filename.php>

Betiğinize karşı

(E_ALL dışında) başka bir şey için error_reporting() - and make sure it's not changing your php.ini yapılandırma çağrısı için /index.php üstüne yakın bak.

Eğer php.ini yapılandırması söz etmedi çünkü, sen error_reporting = E_ALL orada yanı sıra sağlamak için kontrol edin.

'Error_reporting' dosyaları, ve 'display_errors' grep, uygulama yere kapanabilir.

Ayrıca, hataları ayrıştırmak görmek edebilmek için, size php.ini dosyasında error_reporting / display_errors ayarlamanız gerekir, ya da komut dosyaları ayarlayarak bir. Htaccess dosyası, yapmayacağım, ve eğer tarif beyaz sayfa yol açacaktır ayrıştırma hatalar vardır.

En iyi şey, CI varsayılan zaten beri bu neden olabilir ortak sorunların bir kontrol listesi sahip olmaktır

error_reporting(E_ALL);
  1. Aynı ad kontrolörleri ve modelleri
  2. yöntemler olarak ayrılmış sözcükleri kullanarak

liste uzayıp gidiyor ..

Kenara başka yayınlanmıştır her şey, aynı zamanda @ (hata bastırma operatörü) ile maskelenmiş bir şey ölümcül bir hata atma olmadığından emin olun.

Eğer sizin bilginiz olmadan ve kod ayarı error_reporting() olduğunda yararlı olabilir - ayar PHP's error_log configuration variable düşünün. Sonra hata günlüğünü denetleyin ve yaşananların hataları, varsa görebilirsiniz.

Günlükleri ve önbellek klasörü içine / sistem için 777 chmod'ed emin olun.

Sıkıştırma açıkken özellikle, hiçbir boşluk CI tampon dışında dosyaları çıktı var emin olun. Size CI config dosyasına sıkıştırma kapatarak test edebilirsiniz.

De, iki adımı bakınız: http://codeigniter.com/user_guide/installation/upgrade_141.html (bu yükseltme için ise, bu sorunu açıklayan yapılandırma dosyasının bir parçasını içerdiğini unutmayın.)

I had this problem on my freshly installed server. Debian 7. I enabled logging, error reporting, disabled gzip and so on.

Ancak, benim PHP-MySQL kurulum etkin yoktu. Enabling MySQL Benim için hile yaptı.