PHP – Gỡ lỗi


Các chương trình hiếm khi hoạt động chính xác ngay lần đầu tiên. Nhiều thứ có thể xảy ra sai trong chương trình của bạn khiến trình thông dịch PHP tạo ra thông báo lỗi. Bạn có quyền lựa chọn về vị trí của các thông báo lỗi đó. Tin nhắn có thể được gửi cùng với đầu ra của chương trình khác tới trình duyệt web. Chúng cũng có thể được đưa vào nhật ký lỗi máy chủ web.

Để hiển thị thông báo lỗi trong trình duyệt, hãy đặt display_errors chỉ thị cấu hình cho Trên. Để gửi lỗi đến nhật ký lỗi máy chủ web, hãy đặt log_errors sang Bật. Bạn có thể đặt cả hai thành Bật nếu bạn muốn thông báo lỗi ở cả hai nơi.

PHP định nghĩa một số hằng số mà bạn có thể sử dụng để đặt giá trị của báo cáo lỗi sao cho chỉ các lỗi thuộc một số loại mới được báo cáo: E_ALL (đối với tất cả các lỗi ngoại trừ thông báo nghiêm ngặt), E_PARSE (lỗi phân tích cú pháp), E_ERROR (lỗi nghiêm trọng), E_WARNING (cảnh báo), E_NOTICE (thông báo) và E_STRICT (thông báo nghiêm ngặt).

Trong khi viết chương trình PHP của bạn, bạn nên sử dụng các trình soạn thảo hiểu biết về PHP như BBEdit hoặc Emacs. Một trong những tính năng đặc biệt đặc biệt của các trình soạn thảo này là làm nổi bật cú pháp. Nó thay đổi màu của các phần khác nhau trong chương trình của bạn dựa trên những phần đó là gì. Ví dụ: các chuỗi có màu hồng, các từ khóa như if và while có màu xanh lam, nhận xét có màu xám và các biến có màu đen.

Một tính năng khác là đối sánh dấu ngoặc và dấu ngoặc kép, giúp đảm bảo rằng dấu ngoặc kép và dấu ngoặc vuông của bạn được cân bằng. Khi bạn nhập một dấu phân tách đóng, chẳng hạn như}, trình chỉnh sửa sẽ đánh dấu phần mở {mà nó phù hợp.

Có những điểm sau đây cần được xác minh trong khi gỡ lỗi chương trình của bạn.

  • Thiếu dấu chấm phẩy – Mọi câu lệnh PHP đều kết thúc bằng dấu chấm phẩy (;). PHP không ngừng đọc một câu lệnh cho đến khi nó chạm đến dấu chấm phẩy. Nếu bạn bỏ dấu chấm phẩy ở cuối dòng, PHP sẽ tiếp tục đọc câu lệnh ở dòng sau.

  • Dấu hiệu không đủ bằng – Khi bạn hỏi liệu hai giá trị có bằng nhau trong một câu lệnh so sánh hay không, bạn cần hai dấu bằng (==). Sử dụng một dấu bằng là một sai lầm phổ biến.

  • Tên biến sai chính tả – Nếu bạn viết sai chính tả một biến thì PHP sẽ hiểu nó như một biến mới. Hãy nhớ rằng: Đối với PHP, $ test không phải là một biến giống như $ Test.

  • Thiếu dấu hiệu đô la – Một ký hiệu đô la bị thiếu trong một tên biến thực sự rất khó nhìn thấy, nhưng ít nhất nó thường dẫn đến một thông báo lỗi để bạn biết phải tìm vấn đề ở đâu.

  • Báo giá rắc rối – Bạn có thể có quá nhiều, quá ít hoặc sai loại dấu ngoặc kép. Vì vậy, hãy kiểm tra số lượng báo giá cân đối.

  • Thiếu dấu ngoặc đơn và dấu ngoặc nhọn – Chúng phải luôn thành cặp.

  • Chỉ mục mảng – Tất cả các mảng phải bắt đầu từ 0 thay vì 1.

Hơn nữa, hãy xử lý tất cả các lỗi đúng cách và hướng tất cả các thông báo theo dõi vào tệp nhật ký hệ thống để nếu có bất kỳ sự cố nào xảy ra thì nó sẽ được đăng nhập vào tệp nhật ký hệ thống và bạn sẽ có thể gỡ lỗi vấn đề đó.