![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Witam, piszę bardzo rozbudowany skrypt oparty o Jądro ( Kernel ) i moduły, jeden zgubiony "(", "}" lub ";" i strona robi się biała bez żadnego komunikatu - do tej pory radziłem sobie debugowaniem skryptu przy pomocy "echo" ale to nie jest najlepsze rozwiązanie bo za długo zajmuje znalezienie błędu.
PHP.ini mam domyślne dla systemu Arch Linux ponieważ to właśnie na desktopie mam aplikację, piszę i testuję ją właśnie na Swoim komputerze - jeszcze nie na serwerze. http://wklej.org/id/380997/ Do kodu aplikacji dodałem error_reporting(E_ALL); ale nie pomogło. Kod aplikacji jest tutaj: http://github.com/webnull/OpenWikiBlog jednak tutaj jest jeszcze nie zaaktualizowana wersja ( ostatni commit z rana ) PS. To na 99% wina konfiguracji globalnej, ponieważ miałem także konfigurację PHP z Gentoo i działa jak trzeba ale modułów nie ładowało PHP na tym konfigu u mnie ( w Gentoo z modułami jest inaczej - są wkompilowywane ). -- WebNuLL Ten post edytował Babcia@Stefa 25.08.2010, 17:51:28 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zanim obejrzę wnikliwie kod, chciałem Ci coś doradzić:
Miałem kiedyś identyczny problem. Kłopot tkwił w operatorze małpy @ Otóż jeżeli masz coś takiego:
To nie tylko nie będzie błędu jeżeli pliku nie ma, ale także nie będą się błędy pokazywać jeśli ten plik oraz jego załączenia mają coś nie tak Spróbuj sobie przypomnieć, czy coś takiego stosowałeś, czasami naprawdę lepiej dać die, bo z wyjątkami to trzeba robić złożony system obsługi oraz dużo bloczków. Pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Nigdzie "małp" nie stosuję raczej w includach ani require bo wiem o tym doskonale...
Problem leży po stronie konfiguracji bo miałem inny konfig i działało pokazywanie błędów, ale moduły nie działały (IMG:style_emoticons/default/smile.gif) -- WebNuLL |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat error_reporting: E_ERROR ; Default Value: E_ALL & ~E_NOTICE ; Development Value: E_ALL | E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED Daj w konfiguracji E_ALL, a nie w skrypcie |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Odkryłem, że pod CLI jest wszystko okej, ale pod CGI już nie.
Pod CGI jest jakoś ustawione aby nie pokazywał błędów, muszę mieć pokazywanie błędów pod CGI ponieważ pod CLI niema GET, POST itp. CLI: Kod [webnull@webnull-linux-laptop tuxplace-cube]$ php index.php PHP Warning: Missing argument 1 for libsmarty::FixParams(), called in /srv/http/tuxplace-cube/core/modules/smarty.so.php on line 24 and defined in /srv/http/tuxplace-cube/core/modules/smarty.so.php on line 51 Warning: Missing argument 1 for libsmarty::FixParams(), called in /srv/http/tuxplace-cube/core/modules/smarty.so.php on line 24 and defined in /srv/http/tuxplace-cube/core/modules/smarty.so.php on line 51 <html><head><title>OPS!</title></head><body><h2>We are sorry! Our application crashed unexpectly and report was sent to administrator.</h2> <br/> <br/><b>/srv/http/tuxplace-cube/core/modules/translator.so.php(43): translator.so.php::E_ERROR::init:: Cannot load default language, please check configuration</b><br/> Stack trace: #0 /srv/http/tuxplace-cube/core/kernel.so.php(101): libtranslate->__construct('', Object(tuxKernel)) #1 /srv/http/tuxplace-cube/core/kernel.so.php(29): tuxKernel->modprobe('translator', '') #2 /srv/http/tuxplace-cube/core/modules/hooks.so.php(16): tuxKernel->__get('alang') #3 /srv/http/tuxplace-cube/core/kernel.so.php(101): libhooks->__construct(NULL, Object(tuxKernel)) #4 /srv/http/tuxplace-cube/index.php(40): tuxKernel->modprobe('hooks', NULL) #5 {main}<br/><br/> <br/>Dont worry, just try to go back in your web browser - we will repair this site soon.</body></html>PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting 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 'CEST/2.0/DST' instead in /srv/http/tuxplace-cube/core/modules/exceptions.so.php on line 92 Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting 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 'CEST/2.0/DST' instead in /srv/http/tuxplace-cube/core/modules/exceptions.so.php on line 92 CGI: Kod <html><head><title>OPS!</title></head><body><h2>We are sorry! Our application crashed unexpectly and report was sent to administrator.</h2> <br/> <br/><b>/srv/http/tuxplace-cube/core/modules/translator.so.php(43): translator.so.php::E_ERROR::init:: Cannot load default language, please check configuration</b><br/> Stack trace: #0 /srv/http/tuxplace-cube/core/kernel.so.php(101): libtranslate->__construct('', Object(tuxKernel)) #1 /srv/http/tuxplace-cube/core/kernel.so.php(29): tuxKernel->modprobe('translator', '') #2 /srv/http/tuxplace-cube/core/modules/hooks.so.php(16): tuxKernel->__get('alang') #3 /srv/http/tuxplace-cube/core/kernel.so.php(101): libhooks->__construct(NULL, Object(tuxKernel)) #4 /srv/http/tuxplace-cube/index.php(40): tuxKernel->modprobe('hooks', NULL) #5 {main}<br/><br/> <br/>Dont worry, just try to go back in your web browser - we will repair this site soon.</body></html> -- WebNuLL Ten post edytował Babcia@Stefa 25.08.2010, 19:44:35 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
@Babcia@Stefa(alias WebNull (IMG:style_emoticons/default/winksmiley.jpg) ) - nie wiem jakiego IDE używasz, ale np. Eclipse PDT można zintegrować z XDebug. Wtedy za pomocą perspektywy Debugowania możesz śledzić wykonanie skryptu krok po kroku (lub z użyciem punktów kontrolnych), wraz z podglądem wartości poszczególnych zmiennych. Nie zawsze się z tego korzysta, ale zawsze lepsze to niż echo $zmienna.
EDIT: Wartości tablic GET i POST możesz inicjalizować przed wykonaniem skryptu. Ten post edytował everth 25.08.2010, 19:45:55 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
@Babcia@Stefa(alias WebNull (IMG:style_emoticons/default/winksmiley.jpg) ) - nie wiem jakiego IDE używasz, ale np. Eclipse PDT można zintegrować z XDebug. Wtedy za pomocą perspektywy Debugowania możesz śledzić wykonanie skryptu krok po kroku (lub z użyciem punktów kontrolnych), wraz z podglądem wartości poszczególnych zmiennych. Nie zawsze się z tego korzysta, ale zawsze lepsze to niż echo $zmienna. EDIT: Wartości tablic GET i POST możesz inicjalizować przed wykonaniem skryptu. Używam gedit, zainstalowałem z repozytorium ogromny komplet wtyczek i na razie tymczasowo rozwiązałem to dodaniem wtyczki "Narzędzia zewnętrzne" która wywołuje: php $GEDIT_CURRENT_DOCUMENT_PATH Jednak wolałbym mieć wyświetlone błędy poprzez przeglądarkę.. -- WebNuLL Ten post edytował Babcia@Stefa 26.08.2010, 10:10:38 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 06:15 |