2015-02-17 28 views
9

Trong Laravel 4, thật dễ dàng để ngăn chặn các tin nhắn E_NOTICE; Tôi dường như không thể làm được điều này vì nếu tôi thêmLaravel 5 Error Reporting Suppression

error_reporting(E_ALL^E_NOTICE) 

ở bất kỳ đâu nó chỉ bị ghi đè.

Điều này dường như xảy ra quanh đây: (index.php)

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture() 

); 

Tôi đã thêm mã tùy chỉnh để xử lý nhiều điểm "khá" ngoại lệ/lỗi trong Exceptions/Handler.php nhưng tôi đấu tranh để tắt thông báo (tôi không muốn bất kỳ trong số này bắn ra với yết công khai tại tất cả)

  • Vâng, vấn đề cần được cố định, tôi ý thức điều này, tuy nhiên đây là một trường hợp Tôi muốn các thông báo KHÔNG ném bom ứng dụng trực tiếp (Tôi có một giải pháp đăng nhập tùy chỉnh cho điều này), và trên dev tôi muốn thông báo hiển thị.

Trả lời

3

Trong Laravel 5, chúng tôi có thể thiết lập error_reporting(E_ALL^E_NOTICE) bên trong phương pháp AppServiceProviders::boot:

public function boot() 
{ 
    //set whatever level you want 
    error_reporting(E_ALL^E_NOTICE); 
} 
1

Bạn có chắc chắn APP_DEBUG trong tệp .env của bạn được đặt thành sai trong sản xuất không? Điều đó có thể ghi đè cuộc gọi error_reporting() của bạn.