Czy istnieje sposób, aby wyciszyć wszystkie błędy PHP, ostrzeżenia i powiadomienia w Drupal? Są przydatne na stronie deweloperskiej, ale stanowią duże zagrożenie bezpieczeństwa i sprawiają, że strona wygląda źle na żywo.
Wiem, że na Drupal 6 strona admin / ustawienia / raportowanie błędów może powstrzymać Drupala przed zapisywaniem błędów na ekranie, ale gdzie mogę to znaleźć w Drupal 7? Wygląda na to, że go brakuje.
Odpowiedzi:
Ścieżka się zmienia, tak jak w Drupal 7 ta sama strona, którą widziałeś wcześniej w admin / settings / error-reporting jest teraz w admin / config / development / loging.
źródło
Jak sugerowano, w
Administration » Configuration » Development
(at/admin/config/development/logging
) można znaleźć ustawienie, aby wyłączyć wyświetlanie komunikatów o błędach, ale nie spowoduje to całkowitego wyłączenia błędów / powiadomień.To dlatego, że Drupal 7 wymusza E_ALL, więc są one nadal zapisywane w syslog i możesz je zobaczyć w ostatnich dziennikach wpływających na wydajność twojej witryny.
Aby całkowicie wyłączyć powiadomienia, musisz dodać następujący wiersz do pliku
settings.php
lubphp.ini
pliku:Aby wyciszyć wszystkie błędy PHP, co nie jest zalecane, możesz spróbować dodać plik ustawień:
Widzieć:
error_reporting()
Odpowiedzialny kod podstawowy Drupal 7 za
E_ALL
logowanie (plikincludes/bootstrap.inc
:):Zobacz też:
źródło
Jedną rzeczą, o której nikt nie wspomniał, która może być pomocna dla ludzi, jest to, że Drupal 7 ignoruje wszystkie poziomy raportowania błędów w systemie lokalnym. Więc nie możesz użyć .htaccess ani nawet php.ini, aby ustawić poziomy raportowania błędów php w Drupal.
Proponowana jest łatka do tego w D8, ale obecnie w D7 jesteś ograniczony do 3 masek błędów - wszystkich, żadnych, lub błędów i ostrzeżeń - które są ustawione na wskazanej stronie administratora kiamlaluno.
źródło
Ustawienia są zawsze w admin / config / development / logowanie :)
źródło
Nie jestem pewien, dlaczego metoda Drush jest tak nieudokumentowana, ale mam w skrypcie kompilacji:
... który zapisuje komunikaty o błędach w dzienniku, ale nie pokazuje ich na ekranie.
źródło
Może być konieczne dodanie cudzysłowów do rozwiązania kenorb opublikowanego powyżej:
źródło
Jest do tego moduł:
https://www.drupal.org/project/errorlevelpermission
Ze strony projektu:
Więc możesz
źródło