Cấu hình PHP
2 mục trong php.ini chỉ ra lỗi xuất hiện:
display_errors
error_reporting
Trong sản xuất , display_errors
thường được đặt thành Off
(Đó là một điều tốt, vì hiển thị lỗi trong các trang web sản xuất thường không được mong muốn!).
Tuy nhiên, trong quá trình phát triển , nó nên được đặt thành On
, để các lỗi được hiển thị. Kiểm tra !
error_reporting
(kể từ PHP 5.3) được đặt theo mặc định thành E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
(có nghĩa là, mọi thứ được hiển thị ngoại trừ các thông báo, tiêu chuẩn nghiêm ngặt và thông báo không dùng nữa). Khi nghi ngờ, hãy đặt nó E_ALL
để hiển thị tất cả các lỗi. Kiểm tra !
Whoa whoa! Không kiểm tra! Tôi không thể thay đổi php.ini của mình!
Thật là xấu hổ. Các máy chủ được chia sẻ thường không cho phép thay đổi tệp php.ini của họ và vì vậy, tùy chọn đó thật đáng buồn. Nhưng đừng sợ! Chúng tôi có các lựa chọn khác !
Cấu hình thời gian chạy
Trong tập lệnh mong muốn, chúng ta có thể thay đổi các mục php.ini trong thời gian chạy! Có nghĩa là, nó sẽ chạy khi tập lệnh chạy! Ngọt!
error_reporting(E_ALL);
ini_set("display_errors", "On");
Hai dòng này sẽ có tác dụng tương tự như thay đổi các mục php.ini như trên! Tuyệt vời!
Tôi vẫn nhận được một trang trống / 500 lỗi!
Điều đó có nghĩa là kịch bản thậm chí không chạy! Điều đó thường xảy ra khi bạn có một lỗi cú pháp!
Với lỗi cú pháp, tập lệnh thậm chí không được chạy. Nó không thành công tại thời gian biên dịch , nghĩa là nó sẽ sử dụng các giá trị trong php.ini, nếu bạn không thay đổi, có thể không cho phép hiển thị lỗi.
Nhật ký lỗi
Ngoài ra, PHP theo mặc định ghi nhật ký lỗi. Trong lưu trữ được chia sẻ, nó có thể nằm trong một thư mục chuyên dụng hoặc trên cùng thư mục với tập lệnh vi phạm.
Nếu bạn có quyền truy cập vào php.ini, bạn có thể tìm thấy nó trong error_log
mục.