2013-06-05 12 views
33

To jest mój php Scripterror_reporting (E_ALL) nie produkuje błąd

<?php 
    error_reporting(E_ALL); 
    echo('catch this -> ' ;. $thisdoesnotexist); 
?> 

co oczywiście powinno pokazać coś, jeśli miały być wykonane.

Wszystko, co widzę, to pusta strona. Dlaczego error_reporting(E_ALL) nie działa?

<?php 
    ini_set("display_errors", "1"); 
    error_reporting(E_ALL); 
    echo('catch this -> ' ;. $thisdoesnotexist); 
?> 

Nie pomaga też. Wszystko, co dostaję, to pusta strona.

Byłem w php.ini i ustawiłem display_errors = On i display_startup_errors = On. Nic się nie dzieje.

+1

Jak to 'display_errors' setup? – PeeHaa

+0

sprawdź ustawienie display_errors –

+0

Nie pomaga, jak już znalazłem w edytorze moich pytań. –

Odpowiedz

45

Twój plik ma błąd składni, dzięki czemu plik nie został zinterpretowany, więc ustawienia nie została zmieniona i masz pustą stronę.

Możesz oddzielić swój plik na dwa.

index.php

<?php 
ini_set("display_errors", "1"); 
error_reporting(E_ALL); 
include 'error.php'; 

error.php

<? 
echo('catch this -> ' ;. $thisdoesnotexist); 
+0

Ten działa. Indeks.php pokazuje błąd. Ale bez względu na to, co robię, error.php pozostaje dużą pustą stroną. –

8

Błąd to błąd parse. Parser przesyła go podczas przeglądania kodu, próbując go zrozumieć. Żaden kod nie jest jeszcze wykonywany na etapie analizowania. Z tego powodu nie uruchomił jeszcze linii error_reporting, dlatego ustawienia raportowania błędów nie zostały jeszcze zmienione.

Nie można zmienić ustawień raportowania błędów (lub naprawdę, czy nic nie jest) w pliku z błędami składni.

9

W pliku php.ini sprawdź pod kątem display_errors. Myślę, że to jest wyłączone.

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 
+0

Po prostu ustawiłem je na On. Bez zmian. –

+0

nie będziesz inline, muszą być ustawione w pliku php ini – exussum

Powiązane problemy