2012-03-15 11 views
7

Z przyczyn niezależnych od mnie nie mogę ustawić display_errors = 0 i log_errors = 1 w php.ini na moim serwerze produkcyjnym. Wiem, że mogę ustawić error_reporting(0);, aby całkowicie tłumić wszystkie komunikaty o błędach, ale ma to wpływ zarówno na błędy dziennika, jak i wyświetlane błędy. Miałem nadzieję, że będzie odpowiednik ustawienia display_errors = 0 i log_errors = 1 w czasie wykonywania. czy to możliwe? Dzięki.Ustawienie display_errors = 0 i log_errors = 1 bez php.ini

+0

Prawdopodobnie zechcesz to zrobić w pliku .htaccess, więc dyrektywy obowiązują zanim skrypt zacznie parsować. To także pozwoli uniknąć śmiertelnych błędów. –

+0

Można to zrobić tylko poprzez moduł Apache jako moduł. – erm3nda

Odpowiedz

11

Oba są PHP_INI_ALL, więc można po prostu użyć ini_set w czasie wykonywania.

ini_set('display_errors', 0); 
ini_set('log_errors', 1); 

Zobacz http://php.net/manual/en/ini.list.php

+0

Znaczenie tego należy ustawić tylko raz dla tej sesji, a nie na każdej stronie? – keybored

+0

@keybored nie, oznacza, że ​​jest ustawiony, gdy te dwa wiersze kodu są wykonywane, a następnie pozostaje aktywny, gdy skrypt jest aktywny, np. dla tego pojedynczego żądania. nie ma nic wspólnego z sesjami. – Gordon

+0

Dobrze, dziękuję bardzo. :) – keybored

3

spróbuj tego:

ini_set('display_errors', 0); 
ini_set('log_errors', 1); 
+0

Widzę podwójnie: S – erm3nda

0

Jeśli używasz PHP jako modułu i nie może korzystać php.ini główny dyrektywa, ani overrided php.ini od żądanego folderu, a ty nie włącza go w php, możesz spróbować użyć .htaccess habilities.

Na szczycie folderu zawierającego aplikację, umieścić plik .htaccess z: php_flag display_errors 0

powinny mieć zastosowanie jedynie do wyświetlacza wyjściowego php nie dziennikach.

W każdym razie dostarczone rozwiązanie dotyczące ini_set() będzie miało zastosowanie tylko do stron, które go zawierają. Uwaga: Jeśli masz włączone, wartość display_error będzie działać podczas analizowania. Ale jeśli uzyskasz do niego bezpośredni dostęp, nie będzie działać.

Powiązane problemy