Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zapisywanie błędów do pliku
Forum PHP.pl > Forum > Przedszkole
DrLenin
Wie ktoś może czy treść błędu wyświetlanego przez php zamiast na stronie da się zapisać do pliku?
Na przykład mam taki komunikat:
Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL Server Host 'host' (1) in /www/script.php on line 9
Przed funkcja mysql_connect() wstawiam @ i na stronie nic się nie pojawia ale chciałbym zapisać sobie ten komunikat do pliku testowego.
Jest jakaś funkcja albo zmienna w której siedzi ten komunikat??
NetJaro
Znak małpy (@) ukrywa błąd przy danej funkcji, jeżeli błąd występuje.

Jeżeli używasz PHP5 to znajdziesz dużo klas do obsługi błędów winksmiley.jpg
konys
Komunikaty błędów mysql możesz uzyskać wywołując funkcję mysql_error(). Zerknij na funkcję error_log(), która umożliwia wysyłanie komunikatów o błędach na maila czy do wskazanego pliku oraz set_error_handler(), która pozwala zdefiniować własną obsługę błędów. Dobrym adresem do staru będzie Manual
Fipaj
mysql_error

@konys: jak pisałem swojego posta, twojego jeszcze nie było tongue.gif
DrLenin
Może jest jeszcze jakiś odpowiednik mysql_error() dla innych funkcji jak file(), explode() itp.? Żeby użyć error_log() jako pierwszy parametr muszę podać treść komunikatu. Dla funkcji MySQLa użyję mysql_error() a jak wykombinować treść komunikatu dla pozostałych funkcji? Nie chodzi mi o tworzenie własnych komunikatów. Zależy mi na oryginalnym komunikacie.
W ogóle nie kumam programowania obiektowego, klas, dziedziczenia i innych takich ale ostatecznie może być PHP5 najwyżej coś doczytam.
NetJaro
Możesz zawsze użyc np.
  1. <?php
  2.  
  3. file('http://www.php.pl') or die ('Nie można wykonac funkcji file');
  4.  
  5. ?>

Ale nie wiem, czy mozesz dawac jakies funkcje w die, a wiec mozesz zrobic tez tak:

  1. <?php
  2.  
  3. $fFile = @file('http://www.php.pl');
  4. if ($fFile === false)
  5. {
  6. echo 'Błąd';
  7. } else {
  8. echo 'Wszystko OK';
  9. }
  10.  
  11. ?>


A gdy uzywasz php w wersji 5 - obsługa błedów.. masz art. na ten temat na php.pl/.
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.