Làm cách nào để ngừng hiển thị lỗi trong PHP?

Gần đây, một trong những độc giả của chúng tôi đã hỏi làm cách nào để tắt lỗi PHP trong WordPress? . Tuy nhiên, nó trông cực kỳ thiếu chuyên nghiệp khi chúng hiển thị với tất cả khách truy cập trang web của bạn. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách dễ dàng tắt lỗi PHP trong WordPress

Làm cách nào để ngừng hiển thị lỗi trong PHP?

Tại sao và khi nào bạn nên tắt lỗi PHP trong WordPress?

Các lỗi PHP mà bạn có thể thấy trên trang web WordPress của mình thường là các cảnh báo và thông báo. Đây không giống như lỗi máy chủ nội bộ, lỗi cú pháp hoặc lỗi nghiêm trọng khiến trang web của bạn không tải được

Thông báo và cảnh báo là loại lỗi không ngăn WordPress tải trang web của bạn. Xem cách WordPress thực sự hoạt động đằng sau hậu trường để biết thêm chi tiết

Làm cách nào để ngừng hiển thị lỗi trong PHP?

Mục đích của những lỗi này là để giúp các nhà phát triển gỡ lỗi các vấn đề với mã của họ. Các nhà phát triển plugin và chủ đề cần thông tin này để kiểm tra tính tương thích và các phương pháp hay nhất

Tuy nhiên, nếu bạn không phát triển chủ đề, plugin hoặc trang web tùy chỉnh thì những lỗi này sẽ bị ẩn đi. Bởi vì nếu chúng xuất hiện ở mặt trước của trang web của bạn cho tất cả khách truy cập của bạn, điều đó trông cực kỳ thiếu chuyên nghiệp

Làm cách nào để ngừng hiển thị lỗi trong PHP?

Nếu bạn thấy lỗi như trên trên trang web của mình, thì bạn có thể muốn thông báo cho nhà phát triển plugin hoặc chủ đề tương ứng. Họ có thể phát hành một bản sửa lỗi sẽ làm cho lỗi biến mất. Trong khi đó, bạn cũng có thể tắt các lỗi này

Hãy xem cách dễ dàng tắt các lỗi, thông báo và cảnh báo PHP trong WordPress

Tắt lỗi PHP trong WordPress

Đối với phần này, bạn sẽ cần chỉnh sửa wp-config. tập tin php

Bên trong wp-config của bạn. php, hãy tìm dòng sau

define('WP_DEBUG', true);

Cũng có thể, dòng này đã được đặt thành false. Trong trường hợp đó, bạn sẽ thấy đoạn mã sau

define('WP_DEBUG', false);

Trong cả hai trường hợp, bạn cần thay thế dòng này bằng đoạn mã sau

ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

Đừng quên lưu các thay đổi của bạn và tải lên wp-config của bạn. php trở lại máy chủ

Giờ đây, bạn có thể truy cập trang web của mình để xác nhận rằng các lỗi, thông báo và cảnh báo PHP đã biến mất khỏi trang web của bạn

Bật lỗi PHP trong WordPress

Nếu bạn đang làm việc trên một trang web trên máy chủ cục bộ hoặc khu vực tổ chức, thì bạn có thể muốn bật báo cáo lỗi. Trong trường hợp đó, bạn cần chỉnh sửa wp-config của mình. php và thay thế mã bạn đã thêm trước đó bằng mã sau

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

Mã này sẽ cho phép WordPress bắt đầu hiển thị lại các lỗi, cảnh báo và thông báo PHP

Chúng tôi hy vọng bài viết này đã giúp bạn tìm hiểu cách tắt lỗi php trong WordPress. Bạn cũng có thể muốn xem danh sách các lỗi WordPress phổ biến nhất của chúng tôi và cách khắc phục chúng

Nếu bạn thích bài viết này, vui lòng đăng ký Kênh YouTube của chúng tôi để xem các video hướng dẫn về WordPress. Bạn cũng có thể tìm thấy chúng tôi trên Twitter và Facebook

Bài viết này mô tả cách bật và tắt thông báo lỗi PHP bằng cách sử dụng chỉ thị display_errors trong một. tập tin htaccess

Thông tin trong bài viết này chỉ áp dụng cho một số loại tài khoản lưu trữ. Để xác định xem thông tin bên dưới có áp dụng cho tài khoản của bạn hay không, vui lòng xem bài viết này

Bài viết này giả định rằng bạn đã thiết lập tùy chỉnh. tập tin htaccess. Nếu bạn chưa thiết lập tùy chỉnh. htaccess, vui lòng đọc bài viết này trước

Thông báo lỗi và chỉ thị display_errors

Theo mặc định, PHP hiển thị thông báo lỗi trong trình duyệt web của người dùng. Tính năng này rất hữu ích khi bạn mới bắt đầu phát triển và gỡ lỗi trang web của mình. Tuy nhiên, khi quá trình phát triển trang web hoàn tất, việc hiển thị thông báo lỗi có thể là một rủi ro bảo mật. Thông báo lỗi có thể tiết lộ thông tin về trang web của bạn, chẳng hạn như thông tin đường dẫn và các biến, cần được giữ kín

Chỉ thị display_errors kiểm soát việc PHP có hiển thị thông báo lỗi trong trình duyệt web của người dùng hay không. Để đặt chỉ thị display_errors, hãy làm theo các bước sau

Một ứng dụng PHP có thể tạo ra nhiều mức thu nhập và lỗi khác nhau trong quá trình thực thi. Có thể thấy những lỗi này là điều cần thiết cho các nhà phát triển đang cố gắng khắc phục sự cố ứng dụng hoạt động sai. Tuy nhiên, các nhà phát triển thường gặp sự cố khi cố gắng hiển thị lỗi từ các ứng dụng PHP của họ. Thay vào đó, ứng dụng của họ chỉ âm thầm thất bại

Làm cách nào để ngừng hiển thị lỗi trong PHP?

Nếu bạn gặp sự cố với ứng dụng web PHP của mình và cần hiển thị tất cả các lỗi và cảnh báo, bạn đang ở đúng nơi. Trong hướng dẫn này, chúng tôi sẽ giải thích tất cả các cách khác nhau để bật lỗi và cảnh báo PHP. Chúng tôi cũng sẽ thảo luận về cách ghi lỗi vào tệp nhật ký và thậm chí thu thập chúng thông qua tính năng theo dõi lỗi của Truy xuất

Mẹo. Tìm lỗi ứng dụng và các vấn đề về hiệu suất ngay lập tức với Stackify Retrace

Khắc phục sự cố và tối ưu hóa mã của bạn thật dễ dàng với các lỗi tích hợp, nhật ký và thông tin chi tiết về hiệu suất cấp mã

Làm cách nào để ngừng hiển thị lỗi trong PHP?
Làm cách nào để ngừng hiển thị lỗi trong PHP?

Nhanh chóng hiển thị tất cả các lỗi PHP

Cách nhanh nhất để hiển thị tất cả lỗi và cảnh báo php là thêm những dòng này vào tệp mã PHP của bạn

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Chính xác những dòng mã này làm gì?

Hàm ini_set sẽ cố gắng ghi đè cấu hình được tìm thấy trong tệp ini PHP của bạn

display_errors và display_startup_errors chỉ là hai trong số các lệnh có sẵn. Chỉ thị display_errors sẽ xác định xem các lỗi sẽ được hiển thị hay ẩn đối với người dùng. Thông thường, nên tắt chỉ thị dispay_errors sau khi phát triển

Tuy nhiên, display_startup_errors là một lệnh riêng vì display_errors không xử lý các lỗi sẽ gặp phải trong trình tự khởi động của PHP. Danh sách các lệnh có thể bị ghi đè bởi chức năng ini_set được tìm thấy trong tài liệu chính thức

Thật không may, hai lệnh này sẽ không thể hiển thị các lỗi phân tích cú pháp như thiếu dấu chấm phẩy hoặc thiếu dấu ngoặc nhọn. Trong trường hợp này, cấu hình PHP ini phải được sửa đổi

Định cấu hình PHP. ini để hiển thị tất cả các lỗi

Nếu thêm một số lỗi mã PHP không hiển thị trong trình duyệt trong quá trình thử nghiệm, thì cấu hình PHP ini có một số lệnh bổ sung để xử lý lỗi này

display_errors = on

Lệnh display_errors phải được đặt thành “on” trong tệp ini PHP. Điều này sẽ hiển thị tất cả các lỗi bao gồm lỗi cú pháp hoặc lỗi phân tích cú pháp không thể hiển thị bằng cách chỉ gọi hàm ini_set trong mã PHP. Có thể tìm thấy tệp ini PHP trong đầu ra được hiển thị của hàm phpinfo() và được gắn nhãn là tệp cấu hình đã tải. Chỉ thị này trong cấu hình ini phải được đặt thành tắt, nếu ứng dụng web đang được sản xuất

Hiển thị lỗi PHP qua. cấu hình htaccess

Các nhà phát triển thường có quyền truy cập vào các tệp thư mục. Lệnh hiển thị lỗi PHP cũng có thể được bật hoặc tắt bằng cách sử dụng. htaccess nằm trong thư mục gốc hoặc thư mục chung của dự án

php_flag display_startup_errors on
php_flag display_errors on

Tương tự như những gì sẽ được thêm vào mã PHP để hiển thị lỗi PHP,. htaccess cũng có các lệnh cho display_startup_errors và display_errors. Ưu điểm của việc hiển thị hoặc vô hiệu hóa các thông báo lỗi theo cách này là quá trình phát triển và sản xuất có thể có các thông báo khác nhau. htaccess, trong đó quá trình sản xuất ngăn chặn việc hiển thị lỗi

Tùy thuộc vào tệp bạn có quyền truy cập và cách bạn triển khai cũng như cấu hình máy chủ, bạn có thể định cấu hình display_errors trong. htaccess hoặc PHP của bạn. tập tin ini. Nhiều nhà cung cấp dịch vụ lưu trữ sẽ không cho phép bạn sửa đổi PHP của mình. ini để kích hoạt display_errors

bên trong. htaccess, nhật ký lỗi tùy chỉnh cũng có thể được bật miễn là thư mục nhật ký hoặc tệp nhật ký có thể ghi được bởi máy chủ web. Tệp nhật ký có thể là một đường dẫn tương đối đến nơi. htaccess được đặt hoặc nó có thể là một đường dẫn tuyệt đối, chẳng hạn như /var/www/html/website/public/logs

php_value error_log logs/all_errors.log

Bật cảnh báo và thông báo chi tiết

Đôi khi, những cảnh báo tưởng như không ảnh hưởng đến ứng dụng ngay từ đầu lại gây ra một số lỗi nghiêm trọng trong một số điều kiện nhất định. Những cảnh báo này phải được khắc phục vì điều này có nghĩa là ứng dụng sẽ không chạy bình thường trong một số tình huống nhất định. Trong trường hợp những cảnh báo này gây ra nhiều lỗi, thì sẽ thực tế hơn nếu ẩn lỗi và chỉ hiển thị thông báo cảnh báo là gì

________số 8

Đối với nhà phát triển, hiển thị cảnh báo và ẩn lỗi chỉ đơn giản như thêm một dòng mã. Để hiển thị các cảnh báo và thông báo, tham số cho chức năng báo lỗi sẽ là “E_WARNING. E_NOTICE”. Hàm error_reporting có thể chấp nhận các tham số E_ERROR, E_WARNING, E_PARSE và E_NOTICE dưới dạng toán tử bitwise. Để báo cáo tất cả các lỗi ngoại trừ các thông báo, thì tham số là “E_ALL & ~E_NOTICE” trong đó E_ALL là viết tắt của tất cả các tham số có thể có của hàm error_reporting

Chuyên sâu Với hàm error_reporting()

Hàm báo cáo lỗi là một hàm PHP tích hợp cho phép các nhà phát triển kiểm soát lỗi nào và bao nhiêu lỗi sẽ được hiển thị trong ứng dụng. Hãy nhớ rằng, cấu hình PHP ini có một chỉ thị error_reporting sẽ được thiết lập bởi chức năng này trong thời gian chạy

error_reporting(0);

Để xóa tất cả các lỗi, cảnh báo, thông báo phân tích cú pháp và thông báo, tham số sẽ được chuyển đến hàm error_reporting bằng 0. Sẽ không thực tế nếu có dòng mã này trong mỗi tệp PHP. Sẽ tốt hơn nếu tắt các thông báo báo cáo trong tệp ini PHP hoặc trong. htaccess

define('WP_DEBUG', false);
0

PHP cho phép sử dụng biến ngay cả khi không khai báo. Đây không phải là một thông lệ tiêu chuẩn vì các biến không được khai báo sẽ gây ra sự cố cho ứng dụng khi nó được sử dụng trong các vòng lặp và điều kiện. Đôi khi, điều này cũng xảy ra do biến được khai báo có cách viết khác với biến được sử dụng cho điều kiện hoặc vòng lặp. Khi E_NOTICE được truyền trong hàm error_reporting, thì các biến không được khai báo này sẽ được hiển thị trong ứng dụng web

define('WP_DEBUG', false);
1

Chức năng báo lỗi cho phép bạn lọc những lỗi nào có thể hiển thị. Ký tự “~” có nghĩa là “không” hoặc “không” nên tham số ~E_NOTICE có nghĩa là không hiển thị thông báo. Lưu ý “&” và “. ” ký tự ở giữa các tham số có thể. Ký tự “&” dành cho “true for all”, trong khi ký tự “. ” ký tự đại diện cho một trong hai miễn là nó đúng. Hai ký tự này có cùng ý nghĩa trong điều kiện PHP OR và AND

define('WP_DEBUG', false);
2

Ba dòng mã này thực hiện chính xác như nhau, nó sẽ hiển thị tất cả các lỗi PHP. error_reporting(E_ALL) được các nhà phát triển sử dụng rộng rãi nhất để hiển thị thông báo lỗi vì nó dễ đọc và dễ hiểu hơn

Ghi lỗi PHP vào tệp bằng hàm error_log()

Trong quá trình sản xuất, thông báo lỗi không được hiển thị cho người dùng cuối, nhưng thông tin này vẫn phải được ghi lại cho mục đích truy tìm. Cách tốt nhất để ghi lại các thông báo lỗi này trên ứng dụng web sản xuất là lưu trữ nó trong tệp nhật ký

Một cách dễ dàng để sử dụng các tệp nhật ký là sử dụng hàm error_log, hàm này chấp nhận bốn tham số. Tham số bắt buộc duy nhất là tham số đầu tiên, chứa thông tin chi tiết về lỗi hoặc nội dung sẽ được ghi lại. Loại, đích và tiêu đề đều là các tham số tùy chọn cho chức năng này

define('WP_DEBUG', false);
3

Tham số loại, nếu không được xác định, sẽ là 0 theo mặc định, có nghĩa là thông tin nhật ký này sẽ được thêm vào bất kỳ tệp nhật ký nào được xác định trong máy chủ web

display_errors = on
0

Tham số loại 1 sẽ gửi email nhật ký lỗi được chỉ định trong tham số thứ ba. Để làm cho tính năng này hoạt động, ini PHP phải có cấu hình SMTP phù hợp để có thể gửi email. Các chỉ thị ini SMTP này bao gồm máy chủ, loại mã hóa, tên người dùng, mật khẩu và cổng. Loại báo cáo lỗi này được khuyến khích để ghi nhật ký hoặc thông báo các lỗi cần được sửa ngay khi tìm thấy

display_errors = on
1

Để đăng nhập tin nhắn trong một tệp riêng biệt được xác định bởi cấu hình của máy chủ web, thì phải sử dụng loại 3. Tham số thứ ba sẽ đóng vai trò là vị trí của tệp nhật ký và phải được ghi bởi máy chủ web. Vị trí của tệp nhật ký có thể là đường dẫn tương đối đến nơi mã này được gọi hoặc đường dẫn tuyệt đối

Ghi nhật ký lỗi PHP thông qua cấu hình máy chủ web

Để tránh thay đổi các tham số trong. htaccess hoặc thêm một số dòng trong mã PHP để hiển thị lỗi, thì cách tốt nhất để ghi lại lỗi là xác định nó trong tệp cấu hình máy chủ web

display_errors = on
2

Đối với Apache, các tệp này phải được thêm vào máy chủ ảo của trang web hoặc ứng dụng cụ thể, thường nằm trong thư mục có sẵn trang web cho Ubuntu hoặc tệp httpd-vhosts trong Windows

display_errors = on
3

Đối với nginx, tương tự như Apache, lệnh chỉ được gọi là error_log. Đối với cả máy chủ web Apache và nginx, các tệp nhật ký phải được máy chủ web ghi được. May mắn thay, khi cài đặt, các thư mục chứa tệp nhật ký của hai máy chủ web này đã có thể ghi được

Tự động thu thập lỗi PHP với Retrace APM

Truy xuất là công cụ APM (Quản lý hiệu suất ứng dụng) do Stackify cung cấp. Nhưng công cụ này vượt xa việc giám sát hiệu suất của ứng dụng của bạn. Nó cho phép bạn thực hiện ghi nhật ký tập trung , thực hiện lập mã hồ sơ và duy trì . server and application metrics.

Một trong những tính năng tuyệt vời của Retrace là khả năng tự động thu thập tất cả các lỗi chưa được xử lý trong ứng dụng PHP của bạn. Tiện ích mở rộng PHP của chúng tôi sẽ bắt ngoại lệ và tự động chuyển tiếp chúng tới Retrace

Với Retrace, tất cả các lỗi sẽ tự động được ghi lại và định dạng để có thể xem dễ dàng. Truy xuất sẽ không chỉ hiển thị lỗi nào đã xảy ra mà còn phân tích vị trí và nguyên nhân gây ra lỗi đó. Thời gian và số lần xuất hiện cũng được hiển thị trong nhật ký để việc tập trung vào vấn đề cần ưu tiên sẽ dễ dàng hơn rất nhiều

Để tìm hiểu thêm về Truy xuất, vui lòng xem trang tính năng Truy xuất khi theo dõi lỗi. Ngoài ra, hãy thử Prefix, trình lược tả mã miễn phí của Stackify, để viết mã tốt hơn trên máy trạm của bạn. Tiền tố hoạt động với. NET, Java, PHP, Nút. js, Ruby và Python

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

Sử dụng trình soạn thảo văn bản để sửa đổi. htaccess như sau. .
Để ngăn PHP hiển thị thông báo lỗi, hãy thêm dòng sau. php_flag display_errors Tắt
Để cho phép PHP hiển thị thông báo lỗi, hãy thêm dòng sau. php_flag display_errors Bật

Làm cách nào để ẩn tất cả các lỗi trong PHP?

Để tắt lỗi từ tập lệnh PHP, bạn có thể đặt phần sau ở đâu đó trên đầu. ini_set('lỗi_hiển_thị', 0); . Errors should be disabled when using a custom error handler.

Làm cách nào để tránh in cảnh báo trong PHP?

Sử dụng @Sign . Tất cả những gì bạn cần làm là đặt @ trước chức năng bạn định chạy.

Các lỗi PHP được hiển thị ở đâu?

Theo mặc định, bất cứ khi nào xảy ra lỗi hoặc ngoại lệ, PHP sẽ gửi thông báo lỗi trực tiếp cho người dùng qua STDOUT. Trong môi trường dòng lệnh, điều này có nghĩa là lỗi được hiển thị trong thiết bị đầu cuối . Trong môi trường web, các lỗi và ngoại lệ được hiển thị trực tiếp trong trình duyệt.