2008-11-13 14 views
23

Mimo, że raport_błędów jest ustawiony na 0, błędy bazy danych nadal są drukowane na ekranie. Czy istnieje miejsce, w którym mogę się zmienić, aby wyłączyć raportowanie błędów bazy danych? To jest dla CodeIgniter v1.6.xJak wyłączyć błędy mysql z wyświetlania na ekranie w CodeIgniter

EDIT: Re: Naprawianie błędów - Um, tak. Chcę naprawić błędy. Dostaję powiadomienia o błędach z mojego dziennika błędów, a nie z informacji wyświetlanych przez moich użytkowników na ekranie. To nie pomaga nikomu i rani bezpieczeństwo mojego systemu.

EDYTOWANIE 2: Ustawienie błąd_ raportowania na 0 nie wpływa na wbudowaną klasę rejestrowania błędów CodeIgniter od zapisu do dziennika błędów.

Odpowiedz

5
  • Nie chcesz zmienić error_reporting 0, bo to również tłumić błędy przed zalogowany.

  • zamiast powinieneś zmienić display_errors do 0

To nie wyjaśnia dlaczego są wyświetlane chociaż się błędy, zakładając error_reporting jest rzeczywiście 0. Może ramy obsługuje te błędy

3

Możesz edytować plik /errors/db_error.php w katalogu aplikacji - czyli szablon dołączony do błędów DB.

Należy jednak po prostu naprawić błędy.

59

znalazł odpowiedź:

W config/database.php:

// ['db_debug'] TRUE/FALSE - Whether database errors should be displayed. 

tak:

$db['default']['db_debug'] = FALSE; 

... należy wyłączyć.

+0

Przydatne jeden kolega ......... – mrsrinivas

+5

jestem leniwy i zapominalskich tak zrobić '$ db [” default '] [' db_debug '] = (ŚRODOWISKO == "rozwój")? TRUE: FALSE; ' –

10

Oprócz odpowiedź Iana, aby tymczasowo wyłączyć komunikaty o błędach:

$db_debug = $this->db->db_debug; 
$this->db->db_debug = false; 

// Do your sketchy stuff here 

$this->db->db_debug = $db_debug; 
+0

jesteś człowiekiem skalnym. :) – saadk