2009-04-21 34 views

Trả lời

9

Bạn cần đặt cả error_reportingdisplay_errors. Chúng có thể được đặt trong php.ini, trong Apache (nếu bạn đang sử dụng PHP như một mô-đun Apache) hoặc trong thời gian chạy, mặc dù nếu bạn đặt nó trong thời gian chạy thì nó sẽ không ảnh hưởng đến một số loại lỗi, như vậy làm lỗi phân tích cú pháp.

Đối với tính di động - có nghĩa là, nếu bạn muốn thiết lập này trong ứng dụng - hãy thử cài đặt chúng trong một .htaccess:

# note: PHP constants such as E_ALL can't be used when setting it in Apache 
php_value error_reporting 2147483647 

php_flag display_errors on 

Hoặc bạn có thể thiết lập các trong httpd.conf

display_errors đảm bảo rằng tất cả các lỗi được báo cáo đều thực sự xuất ra trình duyệt (trên máy chủ trực tiếp, thay vào đó hãy ghi lại chúng vào một tệp). error_reporting chỉ định loại lỗi nào sẽ được ghi/hiển thị.

Đối với máy chủ trực tiếp, thường không nên hiển thị lỗi công khai (nhưng bạn vẫn có thể muốn ghi lại chúng). Dù bằng cách nào, vẫn nên đặt error_reporting thành giá trị bao gồm hơn (2147483647 là giá trị được bao gồm nhiều nhất hiện có và tương lai theo tài liệu PHP) vì bỏ qua lỗi thường là một ý tưởng tồi.

1

Tìm tệp php.ini của bạn, cuộn xuống trong khi đọc nhận xét. Có một thiết lập chung cho phép/vô hiệu hóa đầu ra lỗi. Thay đổi nó cho phù hợp. Khởi động lại Apache của bạn.

2

Nhấp chuột đầu tiên vào biểu tượng wamp trong bảng tác vụ. Sau đó bấm vào thư mục 'PHP' theo sau là thư mục 'Cài đặt PHP'. Đảm bảo rằng 'phơi bày PHP' và 'lỗi hiển thị' đều được chọn. Bạn cũng có thể đặt các cài đặt lỗi khác như 'lỗi theo dõi' và 'hiển thị lỗi khởi động'.

0

Mở php.ini và tìm kiếm tùy chọn error_reporting.

Thay đổi thành E_ALL & ~E_NOTICE.

Điều đó sẽ hiển thị tất cả các lỗi và cảnh báo nhưng không có thông báo.

Cá nhân tôi luôn sử dụng E_ALL trên các máy phát triển của mình vì thường các thông báo là dấu hiệu cho các vấn đề về mã tiềm ẩn.

+0

Tôi thực sự sẽ để lại thông báo. Thật tuyệt khi biết khi bạn sử dụng các biến không xác định vì chúng thường có nghĩa là bạn đã mắc lỗi đánh máy. –

1

tôi luôn luôn sử dụng mã này:

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

Nếu bạn viết mã sử dụng OOP PHP, sau đó tạo mới methond showError() và gọi nó trong mọi tập tin bạn cần.

0

Nếu ai đó đang sử dụng CodeIgniter thì hãy chuyển mã này trong hàm tạo của bộ điều khiển. Điều này sẽ giải quyết vấn đề của bạn.

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
Các vấn đề liên quan