Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Tôi đang cố gắng tắt tất cả các lỗi trên trang web của mình. Tôi đã làm theo các hướng dẫn khác nhau về cách thực hiện việc này, nhưng tôi tiếp tục nhận được các thông báo lỗi đọc và mở. Có điều gì tôi đang thiếu không?

Tôi đã thử những điều sau trong tệp Php.ini của mình:

;Error display
display_startup_errors = Off
display_errors = Off
html_errors = Off
docref_root = 0
docref_ext = 0

Vì một số lý do khi tôi thực hiện gọi fileOpen () cho một tệp không tồn tại, tôi vẫn nhận được lỗi. Điều này không an toàn cho một trang web trực tiếp, vì những lý do rõ ràng.

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Hỏi ngày 11 tháng 4 năm 2013 lúc 12:52Apr 11, 2013 at 12:52

3

Tôi luôn sử dụng một cái gì đó như thế này trong tệp cấu hình:

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}

Điều này cho phép dễ dàng chuyển đổi giữa các cài đặt gỡ lỗi. Bạn có thể cải thiện điều này hơn nữa bằng cách kiểm tra máy chủ nào mã đang chạy (phát triển, kiểm tra, chấp nhận và sản xuất) và thay đổi cài đặt của bạn phù hợp.

Lưu ý rằng sẽ không có lỗi nào được ghi lại nếu ERROR_Reporting được đặt thành 0, như Korri nhận xét khéo léo.

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Đã trả lời ngày 11 tháng 4 năm 2013 lúc 12:59Apr 11, 2013 at 12:59

SherlocksherlockSherlock

7.4076 Huy hiệu vàng36 Huy hiệu bạc79 Huy hiệu đồng6 gold badges36 silver badges79 bronze badges

4

Bạn nên xem xét không hiển thị thông báo lỗi của bạn thay thế!not displaying your error messages instead!

Đặt

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
4 trong mã PHP của bạn (hoặc trực tiếp vào tệp INI của bạn nếu có thể) và để lại error_Reporting trên
// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
5 hoặc bất kỳ loại tin nhắn nào bạn muốn tìm trong nhật ký của mình.

Bằng cách này, bạn có thể xử lý các lỗi sau này, trong khi người dùng của bạn vẫn không nhìn thấy chúng.

Ví dụ đầy đủ:

define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}

Hoặc đơn giản là (cùng một hiệu ứng):

define('DEBUG', true);

error_reporting(E_ALL);
ini_set('display_errors', DEBUG ? 'On' : 'Off');

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Đã trả lời ngày 11 tháng 2 năm 2014 lúc 10:52Feb 11, 2014 at 10:52

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

LeviteleviteLevite

16.6K7 Huy hiệu vàng50 Huy hiệu bạc 50 Huy hiệu Đồng7 gold badges50 silver badges50 bronze badges

2

Trong

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
6, nhận xét ra:

error_reporting = E_ALL & ~E_NOTICE
error_reporting = E_ALL & ~E_NOTICE | E_STRICT
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ER… _ERROR
error_reporting = E_ALL & ~E_NOTICE

Bằng cách đặt

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
7 trước nó (tức là, như
// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
8)

Để vô hiệu hóa trong một tệp duy nhất, hãy đặt

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
9 sau khi mở thẻ
define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
0.
, place
// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
9 after opening a
define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
0 tag.

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Đã trả lời ngày 11 tháng 4 năm 2013 lúc 13:01Apr 11, 2013 at 13:01

Vishnu rvishnu rVishnu R

1.8493 huy hiệu vàng26 Huy hiệu bạc45 Huy hiệu đồng3 gold badges26 silver badges45 bronze badges

1

Trong tệp php.ini, bạn nên thử điều này cho tất cả các lỗi:

error_reporting = off

Urs

4.8847 Huy hiệu vàng 50 Huy hiệu bạc114 Huy hiệu đồng7 gold badges50 silver badges114 bronze badges

Đã trả lời ngày 1 tháng 4 năm 2014 lúc 15:45Apr 1, 2014 at 15:45

1

Hãy để tôi nhanh chóng tóm tắt điều này để tham khảo:

  • define('DEBUG', true);
    error_reporting(E_ALL);
    
    if (DEBUG)
    {
        ini_set('display_errors', 'On');
    }
    else
    {
        ini_set('display_errors', 'Off');
    }
    
    1 Điều chỉnh cài đặt hiện đang hoạt động cho trình xử lý lỗi mặc định.

  • Chỉnh sửa các tùy chọn báo cáo lỗi cũng thay đổi mặc định.

    • Ở đây, bắt buộc phải chỉnh sửa phiên bản

      // Toggle this to change the setting
      define('DEBUG', true);
      
      // You want all errors to be triggered
      error_reporting(E_ALL);
      
      if(DEBUG == true)
      {
          // You're developing, so you want all errors to be shown
          display_errors(true);
      
          // Logging is usually overkill during development
          log_errors(false);
      }
      else
      {
          // You don't want to display errors on a production environment
          display_errors(false);
      
          // You definitely want to log any occurring
          log_errors(true);
      }
      
      6 chính xác - thông thường là
      define('DEBUG', true);
      error_reporting(E_ALL);
      
      if (DEBUG)
      {
          ini_set('display_errors', 'On');
      }
      else
      {
          ini_set('display_errors', 'Off');
      }
      
      3 trên các máy chủ hiện đại, cách khác; Trong khi phiên bản CLI có một phiên bản khác biệt.

    • Ngoài ra, bạn có thể sử dụng tùy thuộc vào SAPI:

      • mod_php:
        define('DEBUG', true);
        error_reporting(E_ALL);
        
        if (DEBUG)
        {
            ini_set('display_errors', 'On');
        }
        else
        {
            ini_set('display_errors', 'Off');
        }
        
        5 với các tùy chọn
        define('DEBUG', true);
        error_reporting(E_ALL);
        
        if (DEBUG)
        {
            ini_set('display_errors', 'On');
        }
        else
        {
            ini_set('display_errors', 'Off');
        }
        
        6
      • Fastcgi: thường là
        // Toggle this to change the setting
        define('DEBUG', true);
        
        // You want all errors to be triggered
        error_reporting(E_ALL);
        
        if(DEBUG == true)
        {
            // You're developing, so you want all errors to be shown
            display_errors(true);
        
            // Logging is usually overkill during development
            log_errors(false);
        }
        else
        {
            // You don't want to display errors on a production environment
            display_errors(false);
        
            // You definitely want to log any occurring
            log_errors(true);
        }
        
        6 địa phương
      • Và với PHP trên 5.3 cũng là
        define('DEBUG', true);
        error_reporting(E_ALL);
        
        if (DEBUG)
        {
            ini_set('display_errors', 'On');
        }
        else
        {
            ini_set('display_errors', 'Off');
        }
        
        8
    • Khởi động lại máy chủ web như bình thường.

Nếu mã của bạn khó sử dụng và bằng cách nào đó đặt lại các tùy chọn này ở nơi khác trong thời gian chạy, thì một cách thay thế và nhanh chóng là xác định một trình xử lý lỗi tùy chỉnh chỉ làm giảm tất cả các thông báo/cảnh báo/lỗi lên:

set_error_handler(function(){});

Một lần nữa, điều này là không nên, chỉ là một sự thay thế.

Đã trả lời ngày 30 tháng 7 năm 2014 lúc 1:16Jul 30, 2014 at 1:16

ariomariomario

Phù vàng 143K20 Huy hiệu vàng236 Huy hiệu đồng20 gold badges236 silver badges286 bronze badges

2

Trong tệp php.ini, bạn nên thử điều này cho tất cả các lỗi:

display_errors = On

Urs

  • 4.8847 Huy hiệu vàng 50 Huy hiệu bạc114 Huy hiệu đồng
  • Đã trả lời ngày 1 tháng 4 năm 2014 lúc 15:45

Hãy để tôi nhanh chóng tóm tắt điều này để tham khảo:Mar 10, 2015 at 4:26

1

define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
1 Điều chỉnh cài đặt hiện đang hoạt động cho trình xử lý lỗi mặc định.

// Disable it all for current call
error_reporting(0);

Chỉnh sửa các tùy chọn báo cáo lỗi cũng thay đổi mặc định.

@any_function(); // Errors are ignored

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Ở đây, bắt buộc phải chỉnh sửa phiên bản

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
6 chính xác - thông thường là
define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
3 trên các máy chủ hiện đại, cách khác; Trong khi phiên bản CLI có một phiên bản khác biệt.Apr 11, 2013 at 12:54

Ngoài ra, bạn có thể sử dụng tùy thuộc vào SAPI:Tim S.

mod_php:

define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
5 với các tùy chọn
define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
67 gold badges43 silver badges71 bronze badges

1

Fastcgi: thường là

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
6 địa phương

Và với PHP trên 5.3 cũng là

define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
8

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Khởi động lại máy chủ web như bình thường.Mar 10, 2015 at 4:33

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Nếu mã của bạn khó sử dụng và bằng cách nào đó đặt lại các tùy chọn này ở nơi khác trong thời gian chạy, thì một cách thay thế và nhanh chóng là xác định một trình xử lý lỗi tùy chỉnh chỉ làm giảm tất cả các thông báo/cảnh báo/lỗi lên:Vladimir Ramik

Một lần nữa, điều này là không nên, chỉ là một sự thay thế.2 gold badges12 silver badges23 bronze badges

Đã trả lời ngày 30 tháng 7 năm 2014 lúc 1:16

ariomario

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
0

Phù vàng 143K20 Huy hiệu vàng236 Huy hiệu đồngE_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING)

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
1

Tệp vị trí là:

Ubuntu 16.04: /etc/php/7.0/apache2Jan 5, 2016 at 9:26

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

UWU_SANDUNUWU_SANDUNUWU_SANDUN

Centos 7: /etc/php.ini13 silver badges18 bronze badges

Đã trả lời ngày 10 tháng 3 năm 2015 lúc 4:26www.conf. In my case it is in directory /etc/php/7.1/fpm/pool.d/

Bạn cũng có thể sử dụng

define('DEBUG', true);
error_reporting(E_ALL);

if (DEBUG)
{
    ini_set('display_errors', 'On');
}
else
{
    ini_set('display_errors', 'Off');
}
9 của PHP

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

Nếu bạn muốn bỏ qua các lỗi từ một chức năng, bạn có thể tạo biểu tượng

define('DEBUG', true);

error_reporting(E_ALL);
ini_set('display_errors', DEBUG ? 'On' : 'Off');
0.Jan 25, 2019 at 16:55

Đã trả lời ngày 11 tháng 4 năm 2013 lúc 12:54Vazgen Manukyan

Tim S.Tim S.1 gold badge11 silver badges17 bronze badges

13.3k7 Huy hiệu vàng43 Huy hiệu bạc71 Huy hiệu đồng

Tôi thường sử dụng trình xử lý lỗi tích hợp của PHP có thể xử lý mọi lỗi có thể xảy ra ngoài cú pháp và vẫn hiển thị trang 'Down for Duy trì' tốt đẹp nếu không: nếu không:

Định dạng lỗi PHP trên máy chủ sản xuất

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
2

Đã trả lời ngày 10 tháng 3 năm 2015 lúc 4:33

  1. Vladimir Ramikvladimir Ramik
  2. 1.9052 Huy hiệu vàng12 Huy hiệu bạc23 Huy hiệu đồng

Tôi có thể tạo phpinfo của riêng tôi () không? Có bạn có thể

  1. Tạo trực tiếp phpinfo.php trong root của bạn hoặc bất cứ nơi nào bạn muốn
  2. Đặt cái này
    define('DEBUG', true);
    
    error_reporting(E_ALL);
    ini_set('display_errors', DEBUG ? 'On' : 'Off');
    
    4
  3. Lưu các tập tin.
  4. Mở tệp và bạn sẽ xem tất cả các chi tiết.

Cách đặt define('DEBUG', true); error_reporting(E_ALL); ini_set('display_errors', DEBUG ? 'On' : 'Off'); 5 thành define('DEBUG', true); error_reporting(E_ALL); ini_set('display_errors', DEBUG ? 'On' : 'Off'); 6 trong tệp của riêng tôi mà không cần sử dụng php.ini

Bạn có thể làm điều này bằng cách sử dụng hàm

define('DEBUG', true);

error_reporting(E_ALL);
ini_set('display_errors', DEBUG ? 'On' : 'Off');
7. Đọc thêm về ini_set () tại đây (https://www.php.net/manual/en/function.ini-set.php)

  1. Truy cập tiêu đề của bạn.php hoặc index.php
  2. Thêm mã này
    define('DEBUG', true);
    
    error_reporting(E_ALL);
    ini_set('display_errors', DEBUG ? 'On' : 'Off');
    
    8

Để kiểm tra đầu ra mà không cần truy cập vào tệp php.ini

// Toggle this to change the setting
define('DEBUG', true);

// You want all errors to be triggered
error_reporting(E_ALL);

if(DEBUG == true)
{
    // You're developing, so you want all errors to be shown
    display_errors(true);

    // Logging is usually overkill during development
    log_errors(false);
}
else
{
    // You don't want to display errors on a production environment
    display_errors(false);

    // You definitely want to log any occurring
    log_errors(true);
}
3

Đã trả lời ngày 30 tháng 7 năm 2020 lúc 23:50Jul 30, 2020 at 23:50

Hướng dẫn how do i turn off display errors in php? - làm cách nào để tắt lỗi hiển thị trong php?

DexterDexterDexter

6.5023 huy hiệu vàng36 Huy hiệu bạc34 Huy hiệu đồng3 gold badges36 silver badges34 bronze badges

Làm cách nào để tắt lỗi hiển thị?

Cách đặt Display_errors thành Tắt trong tệp của riêng tôi mà không cần sử dụng Php.ini..
Truy cập tiêu đề của bạn.php hoặc index.php ..
Thêm mã này ini_set ('display_errors', false) ;.

Làm cách nào để ẩn các lỗi không dùng nữa trong PHP?

Nếu bạn nhận được lỗi liên quan đến việc khấu hao chức năng, bạn có hai tùy chọn:..
Tháo các cảnh báo bằng cách thêm dòng sau vào tệp php.ini: error_reporting = e_all & ~ e_notice & ~ e_deprecated.....
Nâng cấp PHP của bạn lên phiên bản cao hơn ..

Làm cách nào để sửa lỗi PHP?

Chỉnh sửa PHP ...
Đăng nhập vào cpanel của bạn ..
Chuyển đến Trình quản lý tệp.....
Tìm phần Xử lý lỗi và ghi nhật ký lỗi trong php.ini.....
Tiếp theo, bạn có thể đặt biến Display_errors thành Bật thành Bật để hiển thị các lỗi trên trang web của bạn hoặc không ..

Làm cách nào để tắt cảnh báo PHP trong WordPress?

Dù bằng cách nào, bạn đang tìm kiếm phần WP WP_DEBUG của tệp WP-config.php. Bấm vào nút Lưu Thay đổi nút ở phía trên bên phải.Khi tệp được lưu, điều này sẽ vô hiệu hóa các cảnh báo PHP trong WordPress.looking for the “WP_DEBUG” portion of the wp-config. php file. Click the “Save Changes” button in the top right. Once the file is saved, this will disable the PHP warnings in WordPress.