Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Php5 nie wyświetla błędów
Forum PHP.pl > Forum > Serwery WWW
ActivePlayer
  1. <?php
  2. error_reporting(E_STRICT);
  3. ini_set('display_errors', 1);
  4. asdasd
  5. ?>

pusto.

wyrywki phpinfo()
Kod
php Version 5.0.4
Server API     CGI/FastCGI
display_errors    On    On
display_startup_errors    On    On
error_reporting    2048    2048
track_errors    On    On
Master Miko
mam ten sam problem z 5.16 - dodam że działam na Windzie na module
Denver
Spróbuj:
  1. <?php
  2. error_reporting (E_ALL | E_STRICT);
  3. ?>
ActivePlayer
po wstawieniu do skryptu nie zadziałało (sprawdzalem to nawet wczesniej)... co mnei zdziwiło, dopiero po modyfikacjach w php.ini dziala. Tylko gdzie ja przeczytalem ze E_STRICT zawiera w sobie E_ALL hm.

tak czy siak, solved. dzieki


edited

a jednak nie, błędy faktycznie, wyswietlają sie, ale tylko w pliku 'glownym' we wszystkich includowanych juz komunikatów nie uznaje.
acztery
a daj moze to zamast ini_set

ini_set("display_errors","on");
Asmox
Witam, mam ten sam problem.
PHP INI
display_errors: E_ALL
displey_errors = on

Gdy są jakieś błędy to po prostu nic nie wyświetla, nawet jak było wcześniej jakieś echo czy coś. Może to wina apacha albo firefoksa?

@EDIT:
Kurczę, mam dokładnie ten sam problem co ActivePlayer. Nie wywala błędów z załączanych plików. Ktoś wie co z tym zrobić? Czy może potrzebna jest dodatkowa opcja w php.ini?
eccocce
a wywołaj phpinfo() i sprawdź wartości "display_errors" i "error_reporting"
Asmox
Cytat
display_errors On On
error_reporting 2039 8191

Pierwsza wartość to lokalna (local value), a druga to główna czy coś (master value)

Czy naprawdę nikt nie wiem co z tym zrobić? Może powinienem przeinstalować php i apacha?
icetique
Hej, moje ustawienia na najnowszym PHP 5.2

Kod
[development]
allow_call_time_pass_reference = 0;
display_errors = 1;
display_startup_errors = 1;
error_reporting = E_ALL & ~E_NOTICE | E_STRICT;
html_errors = 1;
log_errors = 1;
magic_quotes_gpc = 0;
max_input_time = 60;
output_buffering = 4096;
register_argc_argv = 0;
register_long_arrays = 0;
request_order = "GP";
session.bug_compat_42 = 1;
session.bug_compat_warn = 1;
session.gc_divisor = 1000;
session.hash_bits_per_character = 5;
short_open_tag = 0;
track_errors = 1;
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry";
variables_order = "GPCS";

[production:development]
display_errors = 0;
display_startup_errors = 0;
error_reporting = ~E_ALL & ~E_DEPRECATED;
html_errors = 0;
session.bug_compat_42 = 0;
session.bug_compat_warn = 0;
track_errors = 0;


wszystko oprocz error_reporting jest ustawiane poprzez ini_set, error_reporting natomiast jest ustawiany przez funkcję już wyżej wymienioną o tej samej nazwie.
Asmox
Niestety przeinstalowałem apacha php użyłem Twoich ustawień - i nic sad.gif Chyba będę musiał zrezygnować z programowania na linuksie bo chyba coś jest uszkodzone. Albo popróbować ze starszymi wersjami php

@EDIT
Wiecie co to chyba nie jest wina serwera tylko skryptu - coś jakby blokował te rzeczy. Testy plików dołączanych z błędami wypadły pozytywnie tj. interpreter wywalał błędy. Natomiast nie wiem jak to zrobiłem, ale w mojej aplikacji coś jest nie tak. Oto jak powinien wyglądać przebieg:
index.php -> Ładuj kontroler -> Ładuj "biblioteki"
index.php
  1. <?php
  2. function criterror($msg) { // Wywalanie błędu krytycznego, gdy nie można załadować podstawowych rzeczy
  3. echo '<div style="background-color: #000000; color: #FFFFFF; border: 5px solid #FF0000;">';
  4. echo $msg;
  5. echo '</div>';
  6. exit();
  7. }
  8.  
  9. if($_GET) { // Prosty router - sprawdza poprawność adresu kontrolera przekazanego metodą GET
  10. if(preg_match('/^[a-z0-9\-]+$/', $_GET['p'])) {
  11. $controller = $_GET['p'].'.php'; /* Filtorwanie parametru */
  12.  
  13. foreach($_GET as $k => $v) { /* Wrzucanie wszystkich argumentów do jednej zmiennej */
  14. if($k=='p') continue;
  15. $ap[$k] = $p;
  16. }
  17. }
  18. }
  19. else $controller = 'home.php'; // Gdy nie podano nazwy kontrolera nazwą domyślną jest home.php
  20.  
  21. if(!@require("controllers/$controller")) criterror('ERROR #0!'); /* Nie można odpalić kontrolera */
  22. ?>


homeController.php
  1. <?php
  2. echo 'Kontroler gotowy.<br />';
  3. //if(!@include('./lib/class.mysql.php')) criterror('ERROR #1'); Okomentowałem bo coś nie wychodziło (błędy w klasie MySQL)
  4. aas(); // NAJWAŻNIEJSZA SPRAWA - INTERPRETER PHP NIE WYWALA BŁĘDY W TYM MIEJSCU
  5. ?>


Nie wiem w ogóle o co chodzi - może chodzi o to że dałem @include i już w ogóle nie chce pokazać błędów?
pag-r
witam
mam podobny problem. w php.ini display_errors = On i error_reporting = E_ALL. Kiedy uruchomie skrypt z konsoli php -f to prawidlowo wyswietla bledy, ale w przegladarce nic sie nie wyswietla:/ Reinstall php nie wiele dal, probowalem z ustawieniami icetique, lecz wciaz to samo:/
berbec
a moze jest ustawione w .htaccess?
.htaccess ma pierwszeństwo.

php_value error_reporting On
php_value display_errors On


pag-r
w .htaccess bylo tylko przekierowanie wlaczone, zreszta sprawdzilem i bez htaccess i z wpisaniem podawanych przez Ciebie wartosc, niestety nic sie nie zmienia:<
Kod
<?php
//error_reporting(E_ALL);
//ini_get("display_errors");
echo 'test'\p;
?>

Daje przez php -f: Parse error: syntax error, unexpected T_NS_SEPARATOR, expecting ',' or ';' in /var/www/html/hta/index.php on line 4
A w przegladarce wciaz nic, zreszta sprawdzalem pod ff/chrome/opera/konqueror i wciaz jest to samo
Nie wiem nawet gdzie szukac:/
qba10
Chcę odświeżyć temat.
Mam dokładnie ten sam problem co @pag-r na Mandrivie 2010.0 . Na początku używałem php z pakietów mandrivy. Potem się zdenerwowałem i przesiadłem się na XAMPP gdzie występuje ten sam problem tzn PHP wyświetla błędy tylko wywołanego pliku, ale nie już includowanych. W konsoli błędy są widoczne. Czego to może być przyczyna ?
zend
Usuń @ z kodu, bo one ukrywają błędy
qba10
Tylko że ja nie używam @

Teraz przesiadłem się na ubuntu i jest to samo. W konsoli błędy są pokazywane...
mls
A... restartowałeś w ogóle serwer HTTP po zmianach w pliku php.ini?
daw22
Przepraszam, że odświeżam, ale do jasnej cholery mam to samo.
Ustawione:
  1. <?php
  2. ini_set('display_errors', 1);
  3. ?>


I NADAL nie raportuje tego co powinien, wyrzucił pare noticów, robie specjalnie błąd składniowy a on NIC, NIC - wth? Sprawa ma się tak na linuxie jak i na xamppie na windowsie. Potrafi mi ktoś wytłumaczyć co sie dzieje? Co tutaj nawala?

Pozdrawiam
pain3hp
Ja tez dzisiaj przeszedłem na ubuntu i nie wyswietla mi bledow, a jak zrobie specjalnie np uzyje nieznanego polecenia to poprostu jest biała strona... ktoś rozwiazal taki problem?

Ja mam troche inna sytuacje bo w etc/php5/cgi/php.ini sa ustawione display_errors On a gdy wywołam phpinfo() to jest dla locala i master Off..

restartowałem serwer
drcwycior
Popatrz czy nie sa zakomentowane np: "; dissp_err on" smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.