Tło sytuacji: wczoraj zainstalowałem sobie serwer Apache 2.4 oraz PHP 7.1 na linuksie. Pięknie działało, póki nie zechciałem użyć wyrażenia include
, żeby dołączyć zewnętrzny plik. Błąd w jego działaniu doprowadził mnie do szukania sposobu wyświetlenia go na ekranie (błędu, znaczy). Znalazłem więc parametr o bardzo ładnej nazwie: display_errors
. Jak przeczytałem, można go ustawić albo w pliku php.ini
, albo za pomocą funkcji ini_set()
.
Pytanie: Gdy ustawiam ten parametr w pliku php.ini
, nie działa (na stronie nic się nie wyświetla; oczywiście restartuję Apache po każdej zmianie php.ini
). Gdy ustawiam za pomocą ini_set()
, działa (błędy wyświetlają się na stronie). Dlaczego tak jest?
Dodam, że gdy próbuję sprawdzić, jaka jest wartość display_errors
za pomocą ini_get()
, to:
- przed wywołaniem
ini_set()
otrzymuję pusty napis, co powinno oznaczać, że wartość jest ustawiona naOff
(zgodnie z tym: http://php.net/manual/en/function.ini-get.php) (dlaczego? Wphp.ini
mam ustawione naOn
); - natomiast po wywołaniu
ini_set()
otrzymuję wartośćOn
.
Może PHP odczytuje ten parametr z jakiegoś innego pliku niż php.ini
? Ale jakiego?
Chętnie podzielę się jakąś konfiguracją, jeśli będzie potrzebna.
Mam wrażenie, że przeoczyłem coś bardzo prostego.
EDIT:
Sprawdziłem, czy zmieniam dobry plik konfiguracyjny, za pomocą funkcji php_ini_loaded_file()
– tak, dobry (/etc/php.ini
). :(
EDIT 2:
Sprawdziłem – display_errors
występuje w php.ini
tylko raz.