Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja date() i dziwny błąd...
Forum PHP.pl > Forum > PHP
Arathill
Witam.
Ostatnimi czasy - tj. dokładnie trzy dni temu zmieniłem system operacyjny na Linux (dystrybucja Ubuntu 8.10 Server Edition). Zainstalowałem apache'a, php, mysql i przeniosłem projekty www z Windowsa na nowy system. Wszystko działa jak należy, prócz funkcji date wewnątrz jednej ze stron, która zwraca mi błąd, którego poniekąd nierozumiem...

CODE
Wystąpił błąd w skrypcie '/home/arathill/WWW_Projects/RANGAR_III/includes/classes/class_rangar.php' w wierszu 125:
date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead


Oczywiście tych błędów jest o wiele więcej, a dokładnie tyle, ile jest wywołań funkcji date (chyba, nieliczyłem...).
Stąd mam pytanie: jak mogę temu zaradzić, dlaczego tak się dzieje, i czy wynika to ze złego nawyku programowania, czy też może z czystej "nadwrażliwości" serwerów postawionych na Linuxie? W tym miejscu muszę nadmienić, że tego błędu nie było gdy strona była na Windowsie.. Rozumiem, że chodzi o ustawienie tej strefy czasowej, lecz jak do tej pory nie miałem z tym styczności, więc pewien nie jestem.
Pozdrawiam i z góry dziękuję za odpowiedź winksmiley.jpg
Darti
w manualu czytamy:
Cytat
Każde wywołanie do funkcji date/time spowoduje wygenerowanie E_NOTICE jeśli strefa czasowa jest nieprawidłowa, lub/i wiadomość E_STRICT jeśli użyto ustawień systemu lub zmiennej środowiskowej TZ. Patrz także date_default_timezone_set()


więc użyj date_default_timezone_set" title="Zobacz w manualu PHP" target="_manual i będzie dobrze

Co do wyświetlania - masz inaczej ustawione error_reporting niż na windowsie
Arathill
Nie nie, error reporting mam ustawiony na E_NOTICE specjalnie, by wyłapać wszystko - debug mode smile.gif. Już na Windowsie starałem się utrzymać wszystko w "nieskazitelnym porządku".

Ale dzięki wielkie, bo niewątpliwie o to chodzi (o date_default_timezone_set) (a nawet jeżeli nie, to napiszę..).


EDIT: no, działa winksmiley.jpg, dzięki raz jeszcze.
erix
Cytat
Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_STRICT message if using the system settings or the TZ environment variable
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.