Diğer tüm içerik kaldırma PHP hata ekranı

2 Cevap php

Burada bir geliştirme sunucusunda, bir ayarı sadece çıkış hata mesajı ve başka bir şey (herhangi bir düzeyde) herhangi bir PHP hatası kılan değiştirildi. Ne demek istediğimi göstermek için, burada hata yeniden bir senaryo:

<?php
$array = array('a');
echo "Hello world";
echo $array[1];
echo $array[2];
echo "Goodbye world";
?>

Ne bu beklediğiniz "Merhaba dünya", daha sonra iki PHP Uyarılar bir o dizideki ofset tanımsız, ve "Elveda dünya" olduğunu söyledi. Ne ben aslında bakın şudur:

PHP Notice:  Undefined offset:  1 in /path/to/myfile.php on line 4
PHP Notice:  Undefined offset:  2 in /path/to/myfile.php on line 5

... Ve başka bir şey. (Ayrıca, böyle düz metin olarak HTML değil unutmayın). Tabii ki, ben error_reporting(0) ayarlayabilirsiniz, ama sonra hatalardan biri görmüyorum.

Herkes ne PHP ayar bu kontrol olur biliyor mu?

2 Cevap

Benim tahminim çıktı tamponlama açık olmasıdır. Deneyin:

<?php
$array = array('a');
echo "Hello world";
ob_flush();
echo $array[1];
echo $array[2];
echo "Goodbye world";
?>

Sen uyarıları kapatın ve sadece ölümcül hataları almak gerekiyor. Bu da yapmalıdır:

error_reporting (E_ERROR | e_warning | E_PARSE);

ya da bu:

error_reporting (E_ERROR | E_PARSE);

hata raporlama yöntemi, burada bir tamsayı alıyor ve boru karakter OR'lamasıdır işleve geçirilen nihai tamsayı ulaşmak için birlikte bunların altında yatan tamsayı değerleri olduğunu.

http://74.125.155.132/search?q=cache%3AQvgitR0nX34J%3Aphp.net/manual/en/function.error-reporting.php+php+fatal+error+reporting&cd=1&hl=en&ct=clnk&gl=us