Nasıl PHP Hataları görüntülemek için alabilirim?

7 Cevap php

Ben PHP ini dosyasını kontrol ve görüntüleme hataları ayarlanır ve aynı zamanda hata raporlama E_ALL olduğunu. Benim apache web sunucusu yeniden başlattınız. Hatta benim yazısının üstündeki bu satırları koyduk ve hatta basit ayrıştırma hatalarını yakalamak değildir. Örneğin, ben bir "$" ile değişkenleri bildirmek ve ben yakın ifadeler değil ";". Ama bütün senaryolarım bu hataların üzerinde boş bir sayfa gösteriyor, ama aslında benim tarayıcı çıktı hataları görmek istiyorum.

error_reporting(E_ALL);
ini_set('display_errors', 1);

Ne kaldı?

Tüm teşekkürler

7 Cevap

Hata çıktı zamanında sağlayarak zaman aslında hiçbir şey çalıştırmadan önce dosyayı ayrıştırmak (ve bu sırasında bir hatayla karşılaştığında beri, bir şey olur yürütmek) çünkü, ayrıştırma hatalarını yakalamak değil. Display_errors ve incelikleri error_reporting düzeyi kullanılır böylece gerçek sunucu yapılandırmasını değiştirmek gerekir. Php.ini erişiminiz yoksa, size sunucuya bağlı. Htaccess veya benzeri kullanmak mümkün olabilir.

This question ek bilgi sağlayabilir.

Içinde senin php.ini:

display_errors = on

Sonra web sunucusu yeniden başlatın.

Bu her zaman benim için çalışıyor:

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

Bazı web hosting sağlayıcıları. Htaccess dosyasında php params değiştirmenize izin verir.

Sen şu satırı ekleyebilirsiniz:

php_value display_errors 1

Senin ve bu çözüm sabit olarak ben aynı sorunu vardı.

Eğer gereken tüm hataları görüntülemek için:

1. Have these lines in the PHP script you're calling from the browser (typically index.php):

error_reporting(E_ALL);
ini_set('display_errors', 1);

2.(a) Make sure that this script has no syntax errors

—or—

2.(b) Set display_errors = On sizin php.ini

Aksi halde, hatta bu 2 satır koşamam!

Sen (komut satırında) çalıştırarak komut sözdizimi hataları için kontrol edebilirsiniz:

php -l index.php

Eğer başka bir PHP komut include komut o included komut will sözdizimi hataları. Örneğin:

index.php

error_reporting(E_ALL);
ini_set('display_errors', 1);

// Any syntax errors here will result in a blank screen in the browser

include 'my_script.php';

my_script.php

adjfkj // This syntax error will be displayed in the browser

Bir Apache modülü olarak PHP kullanırken, biz bir değişiklik olabilir Apache yapılandırma dosyalarına yönergeler (httpd.conf) ve. Htaccess dosyaları kullanılarak yapılandırma ayarları. Bunu yapmak için "AllowOverride Options" veya "AllowOverride All" gerekir.

Bu edin

http://funbird.co.uk/blog/tech-articals/linux-tech-articals/enabling-error-display-php-via-htaccess

Veya kullanmayı deneyin:

ini_set('display_startup_errors', 1);

http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors