Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obsługa błędów
Malinaa
post
Post #1





Grupa: Zarejestrowani
Postów: 577
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


Witam,
mam taką funkcje do obsługi błędów.

Chciałbym ją usprawnić, poprawić błędy jeśli są, dodać obsługe błędów zapytań,
obsługe tych będów o których nie wiem.

  1. // OBSLUGA BLEDOW
  2. set_error_handler('ErrorHandler');
  3. // date_default_timezone_set('Europe/Warsaw'); Cos nie tak z funkcja na serwerze ?
  4.  
  5. // Prosty handler do logowania bledow
  6. function ErrorHandler($errLevel, $errMessage, $errFile, $errLine) {
  7. global $path;
  8. $data = date('Y-m-d H:i:s');
  9. $file = date("Ymd").'_'.basename($_SERVER['PHP_SELF'],".php").'.log';
  10. $file_path = $path.'logs/'.$file;
  11.  
  12. $msg = "Czas: $data\r\n Plik: $errFile\r\n Linia: $errLine\r\n Poziom: $errLevel\r\n $errMessage\r\n";
  13.  
  14. $log = fopen($file_path, 'a');
  15. fwrite($log, $msg);
  16. fclose($log);
  17.  
  18. return true;
  19. }


Pytania:
- Dlaczego na localhost muszę dodać funkcje date_default_timezone_set(), aby ErrorHandler() działał bez błędów, a na serwerze ta funkcja nie działa, ale całość działa dobrze bez tej funkcji?
- Jak dodać obsługę błędów zapytań?
Czy trzeba tutaj, przy każdym zapytanie dodać np. trigger_error(mysql_error()); , czy można prościej w inny sposób.
- Czy o czymś nie wiem i nie uwzględniłem w obsłudze błędów i zapisaniu logów błędu w pliku.

Chciałbym prosić o więcej informacji na ten temat.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Malinaa
post
Post #2





Grupa: Zarejestrowani
Postów: 577
Pomógł: 6
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


No tak,
ale skąd mogłem to wiedzieć (IMG:style_emoticons/default/smile.gif)

Używałem kiedyś tego typu ściezki,
tzn. $path = dirname(__FILE__).'/';
ale wciąż nurtowała mnie taka nie spójność
zależnie od serwera (systemu)
ścieżka miała postać
- /home/serwer/public_html/pliki/errors.log // OK
ale np. na localhost - C:\Program Files\serwer\html/pliki/errors.log // znak slasha i backslesha w ścieżce

Napisałem więc funkcje która rozpoznaje ścieżkę względną ($path = './','../','../../' itd.) zamiast jak wyżej bezwzględnej $path = dirname(__FILE__).'/'; i problem rozwiązany, ale w tym przypadku globals $path nie jest najlepszym rozwiązaniem może więc skorzystam z Twojego, ponieważ działa bez problemu tylko ta nie spójność slash i backslesh w jednej ścieżce?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 05:55