Review Các lỗi khác nhau trong php là gì?
Mẹo về Các lỗi rất khác nhau trong php là gì? Mới Nhất
Bùi Đình Hùng đang tìm kiếm từ khóa Các lỗi rất khác nhau trong php là gì? được Cập Nhật vào lúc : 2022-12-26 16:08:03 . Với phương châm chia sẻ Thủ Thuật Hướng dẫn trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi đọc tài liệu vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.PHP đã xuất hiện khá lâu và đã phát triển những đặc điểm và đặc điểm riêng của nó. Nó đã và đang phát triển mùi vị báo cáo lỗi của riêng mình, điều này khá đơn giản. Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách thuận tiện và đơn giản để thêm giám sát lỗi cho PHP
Nội dung chính Show- Lỗi PHP là gì?Các loại lỗi rất khác nhau trong PHP là gì?Lỗi phân tích cú pháp hoặc cú phápLỗi nghiêm trọnglỗi cảnh báothông báo lỗiCách bật báo cáo lỗi trong PHPCó bao nhiêu Lever lỗi trong PHP?Lỗi hiển thị PHPCảnh báo PHP là gì?Báo cáo sự cố giúp ích như vậy nàoKết thúc báo cáo lỗi PHPCác Lever lỗi trong PHP là gì?Các phương pháp xử lý lỗi rất khác nhau trong PHP là gì?Lỗi và ngoại lệ trong PHP là gì?Lỗi logic trong PHP là gì?
Tìm hiểu thêm và dùng thử Báo cáo sự cố Raygun miễn phí trong 14 ngày
Lỗi PHP là gì?
Lỗi PHP là cấu trúc tài liệu đại diện cho điều gì đó không ổn trong ứng dụng của bạn. PHP có một số trong những cách rõ ràng mà bạn hoàn toàn có thể gọi lỗi. Một cách thuận tiện và đơn giản để mô phỏng lỗi là sử dụng hàm
throw new Exception("Yo, something exceptional happened);5die("something bad happened!");Điều này sẽ kết thúc chương trình PHP và báo lỗi. Khi một chương trình kết thúc, đây là cái mà chúng tôi gọi là lỗi nghiêm trọng. Sau này, bạn sẽ thấy rằng tất cả chúng ta hoàn toàn có thể trấn áp đúng chuẩn cách xử lý lỗi, trong trường hợp tất cả chúng ta cần gọi một số trong những logic quét dọn và sắp xếp hoặc chuyển hướng nơi báo cáo lỗi. Bạn cũng hoàn toàn có thể mô phỏng điều này bằng hàm
throw new Exception("Yo, something exceptional happened);6Điều này sẽ kích hoạt một thông báo không nghiêm trọng trong khối mạng lưới hệ thống theo mặc định. Bạn hoàn toàn có thể ghi đè mức lỗi nếu cần lỗi nặng hơn
Thực tế có hai dạng lỗi trong PHP. lỗi run-of-the-mill tiêu chuẩn và ngoại lệ
Ngoại lệ đã được ra mắt trong PHP 5. Chúng đáp ứng cho bạn ngữ nghĩa thuận tiện và đơn giản hơn như
throw new Exception("Yo, something exceptional happened);7, throw new Exception("Yo, something exceptional happened);8 và throw new Exception("Yo, something exceptional happened);9. Thật thuận tiện và đơn giản để ném một ngoại lệ. Điều này theo sau cùng với sự thành công lớn của những ngôn từ gõ tĩnh, như C# và Java, đã có với chúng.throw new Exception("Yo, something exceptional happened);Bắt và vô hiệu những ngoại lệ có xu hướng được sắp xếp hợp lý hơn so với xử lý lỗi PHP truyền thống hơn. Bạn cũng hoàn toàn có thể xử lý lỗi cục bộ hơn, thay vì chỉ xử lý lỗi trên toàn cầu thông qua set_error_handler(). Bạn hoàn toàn có thể xung quanh logic rõ ràng bằng những khối thử/bắt chỉ quan tâm đến những ngoại lệ rõ ràng
________số 8
Các loại lỗi rất khác nhau trong PHP là gì?
Lỗi PHP không phải là một lỗi duy nhất mà có 4 loại rất khác nhau
- lỗi phân tích cú pháp hoặc cú pháplỗi nghiêm trọnglỗi cảnh báothông báo lỗi
Lỗi phân tích cú pháp hoặc cú pháp
Loại lỗi đầu tiên trong PHP là lỗi phân tích cú pháp, còn được gọi là lỗi cú pháp. Chúng chỉ nghĩa là có một hoặc nhiều hình tượng không đúng chuẩn trong tập lệnh của bạn. Có thể bạn đã bỏ lỡ dấu chấm phẩy hoặc đặt sai dấu ngoặc. Hãy xem ví dụ sau
= 18 echo 'Of Age'; else echo 'Minor'; ?>Bằng cách chạy đoạn script trên, tôi gặp lỗi sau
die("something bad happened!");0Với sự trợ giúp của thông báo lỗi, thật thuận tiện và đơn giản để thấy câu lệnh if thiếu dấu ngoặc đơn đóng. Hãy khắc phục điều đó
die("something bad happened!");1Lỗi nghiêm trọng
Lỗi nghiêm trọng, như tên gọi của chúng, là những lỗi hoàn toàn có thể giết chết—hoặc làm hỏng—ứng dụng. Nói cách khác, lỗi nghiêm trọng là lỗi nghiêm trọng, nghĩa là một điều gì đó thảm khốc đã xảy ra và ứng dụng không thể tiếp tục
Thông thường, nguyên do gây ra lỗi nghiêm trọng là vì một lớp, hàm hoặc một tạo phẩm khác không xác định. Nếu một tập lệnh nỗ lực sử dụng một hiệu suất cao không tồn tại, thì PHP không biết phải làm gì và tập lệnh đó phải bị dừng
Hãy xem xét đoạn script sau
die("something bad happened!");2Như bạn hoàn toàn có thể thấy, tập lệnh định nghĩa một hàm gọi là add và sau đó nỗ lực gọi nó bằng tên sai. Tình huống này dẫn đến một lỗi nghiêm trọng
die("something bad happened!");3Tất cả những gì cần làm để xử lý và xử lý lỗi là thay đổi lệnh gọi hàm thành tên đúng chuẩn, thêm
die("something bad happened!");4lỗi chú ý
Lỗi chú ý là lỗi không dẫn đến việc chấm hết tập lệnh. Tương tự như những gì xảy ra trong những ngôn từ khác, chú ý trong PHP thường đại diện cho điều gì đó chưa phải là vấn đề toàn diện—hoặc ít nhất không phải là vấn đề nghiêm trọng—nhưng nó hoàn toàn có thể trở thành vấn đề nghiêm trọng trong tương lai, vì vậy tốt hơn hết bạn nên giữ chú ý
Hãy xem đoạn mã sau
0Sau khi chạy đoạn mã trên, chúng tôi nhận được chú ý sau
1Điều gây ra chú ý là vì chúng tôi chưa đáp ứng tham số cho hàm parse_url. Hãy khắc phục điều đó
2Điều đó khắc phục chú ý
3thông báo lỗi
Lỗi thông báo tương tự như chú ý ở chỗ chúng cũng không dừng thực thi tập lệnh. Bạn cũng nên nghĩ về lỗi thông báo vì PHP giúp bạn đề phòng điều gì đó hoàn toàn có thể trở thành vấn đề trong tương lai. Tuy nhiên, thông báo thường được xem là ít quan trọng hơn hoặc ít kinh hoàng hơn so với chú ý
Hãy xem xét đoạn mã sau, đây là phiên bản đã thay đổi của tập lệnh được sử dụng trong những phần trước
4Như bạn hoàn toàn có thể thấy, tập lệnh xác định biến $numbers, sau đó nỗ lực chuyển một biến mang tên $integers cho hàm phát nổ
Các biến không xác định thực sự là một trong những nguyên nhân số 1 gây ra thông báo trong PHP. Để làm cho lỗi biến mất, chỉ việc thay đổi biến $integers thành $numbers
Cách bật báo cáo lỗi trong PHP
Kích hoạt báo cáo lỗi trong PHP thật thuận tiện và đơn giản. Bạn chỉ việc gọi một hàm trong tập lệnh của tớ
5Điều này nói rằng “vui lòng báo cáo lỗi của tất cả những cấp. ” Chúng tôi sẽ đề cập đến những Lever sau, nhưng hãy coi đó là một loại lỗi. Vì vậy, về cơ bản nó nói “báo cáo tất cả nhiều chủng loại lỗi. ” Bạn hoàn toàn có thể tắt báo cáo lỗi bằng phương pháp setup 0 6Tham số phương thức trong
0 thực sự là một bitmask. Bạn hoàn toàn có thể chỉ định những tổ hợp mức độ lỗi rất khác nhau trong nó bằng phương pháp sử dụng mặt nạ này, như bạn hoàn toàn có thể thấy 7Điều này cho biết thêm thêm “báo cáo lỗi nghiêm trọng, chú ý và lỗi trình phân tích cú pháp. ” Bạn hoàn toàn có thể chỉ việc phân định bằng “. ” để thêm nhiều lỗi hơn. Đôi khi bạn hoàn toàn có thể muốn setup báo cáo lỗi nâng cao hơn. Bạn hoàn toàn có thể tận dụng những toán tử bitmask để báo cáo theo nhiều tiêu chí rất khác nhau
8Như bạn hoàn toàn có thể thấy, bạn có quá nhiều sự linh hoạt trong việc xác định lỗi nào cần báo cáo. Điều đó đặt ra thắc mắc. Có những loại lỗi và ngoại lệ nào để báo cáo?
Có bao nhiêu Lever lỗi trong PHP?
Có tới 16 Lever lỗi trong PHP 5. Các lỗi này đại diện cho khuôn khổ và đôi khi là mức độ nghiêm trọng của lỗi trong PHP. Có rất nhiều, nhưng nhiều khuôn khổ được cho phép bạn thuận tiện và đơn giản xác định vị trí để gỡ lỗi chỉ từ Lever của nó. Vì vậy, nếu bạn muốn làm điều gì đó chỉ dành riêng cho lỗi người tiêu dùng, ví dụ như xác thực đầu vào, bạn hoàn toàn có thể xác định trình xử lý điều kiện cho mọi thứ khởi đầu bằng
1. Nếu bạn muốn đảm nói rằng bạn đã tắt một tài nguyên, bạn hoàn toàn có thể làm điều đó bằng phương pháp tìm ra những lỗi kết thúc bằng 2Các lỗi trong PHP phần lớn được phân loại theo mức độ nghiêm trọng của chúng (chú ý lỗi, thông báo) và nguồn (người tiêu dùng, trình biên dịch, thời gian chạy)
Tôi muốn trau dồi một vài cái phổ biến ở đây
Đầu tiên, chúng tôi có những lỗi chung
E_ERROR (Giá trị 1). Đây là lỗi nghiêm trọng. Nếu bạn nhìn thấy cậu bé hư này, ứng dụng của bạn đã hoàn thành xong. Khởi động lại và thử lại
E_WARNING (2). Đây là những lỗi không làm hỏng ứng dụng của bạn. Hầu hết những lỗi dường như ở Lever này
Tiếp theo, chúng tôi có lỗi người tiêu dùng
E_USER_ERROR (256). Phiên bản do người tiêu dùng tạo ra lỗi nghiêm trọng ở trên. Điều này thường được tạo thông qua trigger_error()
E_USER_NOTICE (1024). Phiên bản do người tiêu dùng tạo của một sự kiện đáp ứng thông tin. Điều này thường không còn công dụng phụ đối với ứng dụng, in như nhật ký. thông tin()
Danh mục lưu ý ở đầu cuối là lỗi vòng đời của ứng dụng, thường mang tên "lõi" hoặc "biên dịch"
EE_CORE_ERROR (16). Tương tự như những lỗi nghiêm trọng ở trên, lỗi này chỉ hoàn toàn có thể xảy ra khi ứng dụng PHP khởi động
EE_COMPILE_WARNING (128). Một lỗi không nghiêm trọng chỉ xảy ra khi tập lệnh PHP không biên dịch được
Còn một số trong những lỗi khác. Bạn hoàn toàn có thể tìm thấy toàn bộ list của tớ ở đây
Lỗi hiển thị PHP
Hiển thị thông báo lỗi trong PHP thường là một chủ đề khó hiểu. Chỉ cần google “hiện thông báo lỗi PHP” và xem. Tại sao lại như vậy?
Trong PHP, bạn hoàn toàn có thể quyết định có hiển thị lỗi hay là không. Điều này khác với việc báo cáo chúng. Báo cáo chúng sẽ đảm bảo những lỗi không biến thành nuốt chửng. Nhưng hiển thị chúng sẽ hiển thị chúng cho những người dân tiêu dùng. Bạn hoàn toàn có thể yêu cầu PHP hiển thị tất cả những lỗi bằng phương pháp sử dụng thông tư display_errors và display_startup_errors
9Bật những tính năng này sẽ đảm bảo chúng hiển thị trong nội dung phản hồi của web cho những người dân tiêu dùng. Thông thường, cách tốt nhất là tắt những thứ này trong môi trường tự nhiên thiên nhiên không phát triển. Tham số phương thức số nguyên cũng là một bitmask, như trong
0. Các quy tắc và tùy chọn tương tự cho tham số đó cũng khá được áp dụng tại đâyCảnh báo PHP là gì?
Ở trên, bạn sẽ lưu ý rằng một trong những Lever lỗi là
4. Bạn cũng hoàn toàn có thể lưu ý rằng nhiều Lever lỗi có những phiên bản chú ý. Tôi muốn đào sâu vào vấn đề này một chút ít. Sự khác lạ ở chính giữa chú ý và lỗi trong PHP là nó có kết thúc ứng dụng hay là không. Trong PHP, hầu hết những lỗi không thực sự ngăn tập lệnh thực thiĐây là một ví dụ
throw new Exception("Yo, something exceptional happened);0Bạn vẫn sẽ thấy
5 tuy nhiên đã kích hoạt chú ý. Điều này hoàn toàn có thể hữu ích nếu bạn muốn thu thập list những lỗi xác thực. Cá nhân tôi thích sử dụng những ngoại lệ ngày này, nhưng số dặm của bạn hoàn toàn có thể thay đổiTất nhiên, bạn hoàn toàn có thể để PHP hiển thị chú ý hoặc không. Để làm được điều đó, bạn sẽ sử dụng thông số kỹ thuật 'display_errors' mà bạn đã thấy trong phần trước
Báo cáo sự cố giúp ích ra làm sao
PHP giúp thuận tiện và đơn giản thiết lập những công cụ báo cáo lỗi bên phía ngoài, in như những công cụ do Raygun đáp ứng. Nó đáp ứng một vài hook rất khác nhau trong thời gian chạy của nó để xử lý lỗi và gửi chúng qua dây. Xem ví dụ này, được lấy từ trang PHP của Raygun
throw new Exception("Yo, something exceptional happened);1Đầu tiên, chúng tôi khai báo ứng dụng khách, sử dụng khóa API để bảo mật thông tin
throw new Exception("Yo, something exceptional happened);2Sau đó, chúng tôi tạo một vài hiệu suất cao xử lý những lỗi và ngoại lệ của chúng tôi
throw new Exception("Yo, something exceptional happened);3Lưu ý rằng chúng tôi gọi hàm
6, chuyển vào một vài rõ ràng liên quan về cấu trúc tài liệu lỗi. Điều này sẽ thực hiện một cuộc gọi từ xa tới RaygunCuối cùng, chúng tôi link chúng vào thời gian chạy của PHP bằng phương pháp xử lý toàn cầu cả lỗi truyền thống và ngoại lệ mới hơn
throw new Exception("Yo, something exceptional happened);4Và đó là nó. Với tất cả những điều này, chúng tôi hoàn toàn có thể nhận được báo cáo lỗi được định dạng đẹp mắt trông như vậy này
Kết thúc báo cáo lỗi PHP
Như bạn hoàn toàn có thể thấy, báo cáo lỗi PHP rất đơn giản. Bạn hoàn toàn có thể kích hoạt ngoại lệ thông qua những hiệu suất cao đặc biệt. Bạn cũng hoàn toàn có thể kích hoạt những ngoại lệ, như trong những ngôn từ nhập khác
Thật thuận tiện và đơn giản để cắm trình xử lý của riêng bạn và trấn áp việc báo cáo và hiển thị lỗi. Điều này được cho phép chúng tôi cắm công cụ của Raygun mà không tốn nhiều công sức của con người - vui lòng đăng ký dùng thử Raygun và thêm nó vào ứng dụng của bạn sau vài phút
Post a Comment