PDA

Zobacz pełną wersję : PHP nie raportuje błędów



mariuszad
14-11-2017, 10:45
Witam


Mam problem z php i cms joomla. W joomla mam zainstalowany komponent, który nie działa prawidłowo. Chciałem zbadać dokładniej w czym jest problem i wysłać raport do autora komponentu jednak php nie raportuje błędów. Utknąłem w miejscu w którym zacząłem.
W konfiguracji php.ini mam włączone:





memory_limit = 512M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = On
log_errors = On
html_errors = On
error_log = /var/log/php_errors.log





service httpd restart


Z tego co wnioskuję to teraz gdy wywołuje komponent w zapleczu cms i on nie działa prawidłowo (nie wyświetla wszystkich swoich opcji) w php_errors.log powinienem mieć jakieś info o tym co się dzieje - a nie mam.
Może mi ktoś z Was podpowiedzieć jak zmusić php do raportowania błędów ?


Pozdrawiam
Mariusz

moje
14-11-2017, 11:24
A jakie masz ustawienia raportowania błędów w Joomla?

Może awaria nie wynika z błędnego działa PHP ale z źle napisanego kodu (poprawnie według składni PHP ale z błędem logicznym).

mariuszad
14-11-2017, 12:12
A jakie masz ustawienia raportowania błędów w Joomla?


Raportowanie błędów : domyślny system

Jak zmieniam na : maximum - też bez rezultatu.


Może awaria nie wynika z błędnego działa PHP ale z źle napisanego kodu (poprawnie według składni PHP ale z błędem logicznym).

Tego nie jestem w stanie stwierdzić. Ale wydaje mi się że przyczyna może leżeć gdzie indziej. Bo gdyby nie raportowało tylko z tego komponentu , ale ja nie mam kompletnie nic!
A jeszcze mi przyszło na myśl... Kto powinien być właścicielem i jakie prawa mieć plik z logami php? root czy apache ?

Pozdrawiam

moje
14-11-2017, 18:53
Katalog powinien mieć uprawnienia 755. Masz dobrą ścieżkę do tego katalogu?

mariuszad
15-11-2017, 07:51
Dzięki - już działa. Problem był w prawach pliku z logami. Mam jeszcze jedno pytanie - czy te wszystkie tryby raportowania błędów działają w ten sposób że wyświetlają błędy bezpośrednio na stronie ? Nie chciałbym aby ktokolwiek poza mną oglądał co jest nie tak... Jest jakiś sposób aby wszystkie komunikaty nie były wyświetlane na stronie www a wrzucane do jakiegoś pliku z logami ?

moje
15-11-2017, 13:20
Raportowanie błędów ustawione dla PHP ląduje do wskazanego pliku.

Raportowanie błędów strony jest wyświetlane związane z językiem php są wyświetlane na stronie ale jak dobrze pamiętam jest pozycja debug, którą można wykorzystać w swoim szablonie ;)

Rzeczy związane z błędnym działaniem Joomla lądują w logach Joomla.
Musisz poczytać co dokładnie ląduje w tych logach.