Lỗi PHP ít nhiều là lỗi mã nghiêm trọng có thể bắt đầu từ một lỗi cú pháp đơn giản và kết thúc bằng các lỗi nghiêm trọng khiến quá trình thực thi mã bị dừng
Trong bài viết này, lỗi PHP. hướng dẫn đầy đủ, hãy xem có những loại lỗi nào và đối với từng loại lỗi, hãy xem xét các ví dụ cụ thể
Sau đó, chúng ta sẽ thấy một số phương thức cho phép chúng ta hiển thị các lỗi PHP
Mục lục
- Lỗi PHP là gì?
- Các loại lỗi PHP
- Lưu ý
- Cảnh báo
- lỗi phân tích cú pháp
- Lỗi nghiêm trọng
- Ví dụ về lỗi PHP
- lỗi phân tích cú pháp
- lỗi cảnh báo
- Thông báo lỗi
- Lỗi nghiêm trọng
- Cách hiển thị lỗi PHP
- Chỉnh sửa tập lệnh PHP
- chỉnh sửa php. tập tin ini
- chỉnh sửa. tập tin htaccess
- Bật lỗi từ cPanel
- Phần kết luận
Lỗi PHP là gì?
Khi có lỗi cú pháp hoặc một biến hoặc hàm không được khai báo, nó được gọi là mã PHP và xảy ra lỗi. Vì vậy, chúng tôi nói về lỗi PHP khi có vấn đề trong mã
Như chúng ta sẽ thấy trong bài viết này, lỗi PHP. một hướng dẫn đầy đủ, có một số loại lỗi. Một số có thể làm gián đoạn quá trình thực thi tập lệnh, trong khi một số khác ngăn chúng tôi nhận được kết quả như mong đợi
Khi chúng tôi tạo một tập lệnh trong PHP, chúng tôi có thể gặp bốn loại lỗi. Hãy xem chúng là gì
Các loại lỗi PHP
Lỗi mã trong PHP có thể được chia thành bốn loại. thông báo, cảnh báo, lỗi phân tích cú pháp và lỗi nghiêm trọng
Lưu ý
Khi xảy ra lỗi như vậy trong mã tập lệnh, quá trình thực thi tập lệnh không bị gián đoạn. Thông báo lỗi không phải là một lỗi nghiêm trọng, nhưng điều này được sử dụng để chỉ ra rằng có thể có lỗi
Trường hợp phổ biến nhất là khi một nỗ lực được thực hiện để gọi một biến chưa được xác định
Khi một lỗi như vậy xảy ra, nó sẽ được chỉ báo là “Thông báo lỗi” hoặc “Thông báo PHP”
Cảnh báo
Các lỗi PHP thuộc loại "cảnh báo" là một phần của các lỗi không nghiêm trọng. Một lần nữa, như chúng ta vừa thấy về các lỗi thông báo, việc thực thi tập lệnh không bị gián đoạn
Ví dụ, loại lỗi này có thể xảy ra khi các tham số không chính xác được chuyển đến một hàm hoặc khi một nỗ lực được thực hiện để gọi một tệp không có mặt
Một lỗi như vậy được xác định là “Lỗi cảnh báo” hoặc “Cảnh báo PHP. ”
lỗi phân tích cú pháp
Trong PHP, lỗi phân tích cú pháp là lỗi cú pháp, vì vậy nó là lỗi trong mã như lỗi đánh máy, thiếu dấu chấm phẩy hoặc dấu ngoặc kép
Các lỗi PHP thuộc danh mục này được gọi là “Lỗi phân tích cú pháp” hoặc “Lỗi phân tích cú pháp PHP. ”
Lỗi nghiêm trọng
Lỗi nghiêm trọng là lỗi nghiêm trọng làm gián đoạn quá trình thực thi tập lệnh. Chúng có thể xảy ra trong quá trình khởi tạo, biên dịch hoặc trong quá trình thực thi mã
Những lỗi này được gọi là “Fatal error” hoặc “PHP fatal error. ”
Ví dụ về lỗi PHP
Bây giờ chúng ta đã xem xét bốn loại lỗi chính của PHP, hãy xem các ví dụ để giúp chúng ta xác định loại lỗi
lỗi phân tích cú pháp
Như chúng ta đã thấy, những lỗi này có thể được tạo ra trong quá trình viết mã. Trong hầu hết các trường hợp, chúng có thể là do lỗi đánh máy hoặc sơ suất
Đây là một ví dụ về lỗi phân tích cú pháp
Đoạn mã trên trả về lỗi này
Parse error: syntax error, unexpected token "echo", expecting "," or ";" in [...] on line 4
Trong trường hợp này, chúng tôi nhận được thông báo lỗi này vì ở dòng 3, ở cuối tiếng vang “Xin chào mọi người,” chúng tôi quên chèn dấu chấm phẩy
lỗi cảnh báo
Lỗi không nghiêm trọng thuộc loại này. Do đó, trong những trường hợp này, việc thực thi mã vẫn hoàn thành ngay cả khi gặp lỗi
Hãy xem một ví dụ về lỗi cảnh báo
Mã này trả về cảnh báo sau
Warning: include[funzioni_matematiche.php]: Failed to open stream: No such file or directory in [...] on line 6
Warning: include[]: Failed opening 'funzioni_matematiche.php' for inclusion [include_path='.:'] in [...] on line 6
10
Trong trường hợp này, chương trình tiếp tục thực thi mã và như chúng ta thấy, hàm tổng được thực thi và kết quả mong đợi [10] được trả về cho chúng ta
Trước khi trả về kết quả, một lỗi Cảnh báo cảnh báo chúng tôi rằng tệp math_functions. php không có trên máy chủ
Thông báo lỗi
Giống như lỗi cảnh báo, lỗi thông báo không nghiêm trọng và không làm gián đoạn quá trình thực thi mã
Đây là một ví dụ về mã tạo ra lỗi thông báo
Kết quả sẽ như sau
Notice: Undefined variable: v in [...] on line 8
Name: John Smith:
Trong trường hợp này, chúng tôi đã gọi trong hàm tên_họ biến $v chưa được khai báo. Chúng tôi được hiển thị sự hiện diện của lỗi [biến không xác định] và đầu ra được trả về vì quá trình thực thi mã vẫn tiếp tục
Tuy nhiên, như chúng ta có thể thấy, trong trường hợp này, kết quả chúng ta nhận được không như mong đợi vì chỉ có trường “tên” được trả về cho chúng ta
Loại lỗi và do đó loại cảnh báo chúng tôi nhận được có thể khác nhau tùy thuộc vào phiên bản PHP mà chúng tôi đang sử dụng
Trong trường hợp này, trên thực tế, trong PHP 7, chúng tôi gặp lỗi Thông báo. Tuy nhiên, trong PHP 8, lỗi này đã được phân loại lại thành lỗi Cảnh báo
Để biết thêm chi tiết về việc phân loại lại các lỗi từ phiên bản 7 đến 8, bạn có thể tham khảo RFC
Lỗi nghiêm trọng
Lỗi nghiêm trọng là lỗi nghiêm trọng có thể xảy ra trong một số trường hợp, chẳng hạn như nếu chúng ta cố gọi một hàm không tồn tại
Có một ví dụ về lỗi nghiêm trọng trong mã này
Thực thi trả về lỗi này
Fatal error: Uncaught Error: Call to undefined function moltiplica[] in [...]:7
Stack trace:
#0 {main}
thrown in [...] on line 7
Trong trường hợp này, chúng tôi đang cố gắng gọi hàm multi[] chưa được khai báo. Hãy nhớ rằng khi xảy ra lỗi như vậy, việc thực thi mã sẽ bị hủy bỏ
Cách hiển thị lỗi PHP
Trong quá trình phát triển rất dễ gặp lỗi, thậm chí đơn giản là lỗi cú pháp. Để có thể xác định và sửa lỗi PHP, cần phải hiểu chúng là loại lỗi gì và chúng nằm ở đâu trong mã
Hãy nhớ rằng hiển thị lỗi chỉ nên được kích hoạt cho mục đích gỡ lỗi hoặc phát triển. Do đó, hãy nhớ tắt nó sau khi bạn hoàn thành
Có một số cách để hiển thị lỗi PHP
- thêm mã vào tệp PHP
- thêm chỉ thị vào php. tập tin ini
- bật hiển thị lỗi với. tập tin htaccess
- bật hiển thị lỗi từ cPanel
- Tham khảo nhật ký lỗi
Hãy xem cách hiển thị lỗi bằng cách làm theo các phương pháp này
Chỉnh sửa tập lệnh PHP
Một trong những cách nhanh nhất để hiển thị lỗi PHP là thêm mã trực tiếp vào tập lệnh
Trong trường hợp này, chúng ta chỉ cần thêm những dòng này vào đầu tệp PHP
________số 8Chỉ thị display_errors cho phép chúng tôi bật hoặc tắt hiển thị lỗi
Bằng cách bật display_startup_errors, chúng tôi cũng có thể hiển thị các lỗi gặp phải trong quá trình khởi tạo
Với chức năng “error_reporting”, chúng ta có thể chỉ định lỗi nào sẽ hiển thị. Tham số “E_ALL” cho phép hiển thị tất cả các lỗi
Thay vào đó, nếu chúng tôi muốn loại trừ các lỗi Thông báo, chúng tôi chỉ cần sử dụng tham số này
E_ALL & ~E_NOTICE
Hãy cẩn thận, vì với lỗi hệ thống này khiến quá trình thực thi tập lệnh dừng lại, chẳng hạn như lỗi phân tích cú pháp và lỗi nghiêm trọng, sẽ không được hiển thị. Trong trường hợp này, bạn phải tham khảo các tệp nhật ký để xem lỗi
chỉnh sửa php. tập tin ini
Để hiển thị lỗi PHP, chúng ta chỉ cần chỉnh sửa tệp php. tập tin ini
Hãy nhớ rằng một số nhà cung cấp không cho phép bạn chỉnh sửa tệp php. tập tin ini
Với tất cả các gói của chúng tôi từ lưu trữ chia sẻ đến các dịch vụ chuyên dụng như lưu trữ đám mây VPS và máy chủ chuyên dụng, bạn có thể thay đổi phiên bản PHP và chỉnh sửa tệp php. ban đầu
Nếu bạn muốn thử nghiệm dịch vụ, hãy tận dụng dịch vụ lưu trữ miễn phí của chúng tôi trong 14 ngày và thực hiện tất cả các thử nghiệm bạn muốn với gói dùng thử
Như chúng ta sẽ thấy trong phần tiếp theo của bài viết này, lỗi PHP. hướng dẫn đầy đủ, bạn cũng có thể kích hoạt hiển thị lỗi trực tiếp từ cPanel, kích hoạt cài đặt mà không cần phải chỉnh sửa code gì cả
Trong trường hợp này, hãy xem bạn cần thêm lệnh nào vào tệp php. ini để bật hiển thị lỗi
Parse error: syntax error, unexpected token "echo", expecting "," or ";" in [...] on line 4
0Với các chỉ thị này, tất cả các lỗi sẽ được hiển thị trên màn hình
chỉnh sửa. tập tin htaccess
Chúng tôi cũng có thể kích hoạt hiển thị lỗi thông qua. tập tin htaccess. Trong trường hợp này, chúng ta chỉ cần thêm các dòng sau
Parse error: syntax error, unexpected token "echo", expecting "," or ";" in [...] on line 4
1Bật lỗi từ cPanel
Từ cPanel, bạn có thể kích hoạt hiển thị mã lỗi trên màn hình hoặc tham khảo nhật ký lỗi
Hãy nhớ rằng đối với một trang web trực tuyến, tốt hơn là nên tham khảo nhật ký lỗi
Tuy nhiên, nếu trang web hoặc ứng dụng đang được phát triển, bạn có thể cần bật hiển thị màn hình
Hãy xem cách thực hiện
Tham khảo nhật ký lỗi
Trên các gói của chúng tôi, nhật ký lỗi được kích hoạt theo mặc định. Nếu bạn muốn kiểm tra lỗi mã, bạn có thể xem tệp error_log nằm trong thư mục gặp lỗi
File này được hệ thống tự sinh ra khi xảy ra lỗi code. Bạn chỉ cần sử dụng trình quản lý tệp của cPanel để định vị tệp và xem nó
Trong ví dụ này, bạn có thể thấy tệp error_log được lưu trữ nghiêm trọng và nhận thấy các lỗi PHP từ các ví dụ tôi đã chỉ cho bạn trước đó
Xem lỗi PHP trên màn hình
Trên các gói lưu trữ của chúng tôi, theo tùy chọn mặc định, việc quản lý phiên bản PHP được giao cho Cloudlinux. Do đó, trong trường hợp này, bạn có thể sử dụng các tùy chọn của công cụ Select PHP Version để cho phép hiển thị lỗi trên màn hình
Từ tab Tùy chọn, bạn có thể bật tùy chọn diplay_errors như bạn thấy trong ảnh chụp màn hình này
Hãy nhớ tắt tùy chọn trước khi xuất bản trang web hoặc sau khi bạn đã sửa lỗi
Phần kết luận
Chúng ta đã thấy rằng có nhiều loại lỗi PHP khác nhau và trong một số trường hợp, chúng có thể phá vỡ quá trình thực thi tập lệnh
Ngoài việc có thể tham khảo nhật ký lỗi, còn có một số cách để kích hoạt hiển thị mã lỗi trên màn hình. Hệ thống này giúp chúng tôi cho mục đích gỡ lỗi và cho phép chúng tôi xác định lỗi trong quá trình phát triển
Bạn đã biết về phân loại lỗi PHP?