Insane

CuDemVN.Wap.Sh

- GetSmile.Mobie.In - Diễn đàn chia sẻ Cú đêm Việt Nam
- AiChat.Wap.Sh - Diễn đàn Xtgem Việt Nam
- HamTruyen.Xtgem.Com - Blog Ham Truyện nơi hội tụ của những tín đồ mê truyện chữ
* Trang chủ >> WapMaster
Tìm Kiếm Thảo Luận
↓↓

Hướng dẫn Bật thông báo lỗi trong PHP

Admin* RoSino18k *
* 10-11-2015
Khi đã code, không ai là chưa từng gặp lỗi. Và bài này chỉ nhắm đến các bạn mới bước vào thế giới PHP, chưa có kinh nghiệm sửa lỗi sẽ có một số kỹ năng tối thiểu để có thể tự mình sửa lỗi mà không cần phải nhờ mọi người.

I . Việc làm đầu tiên:
Để sửa lỗi thì phải biết lỗi như thế nào. Vì thế việc đầu tiên bạn cần làm là bật tính năng thông báo lỗi của PHP lên.
1. Sửa php.ini file.
Set display_errors thành On. Restart webserver.
2. Dùng Hàm ini_set để bật tính năng này lúc run-time
- Nếu như bạn đang dùng share host, ko thể tự edit php.ini được thì bạn có thể dùng hàm ini_set để bật tính năng này lúc run-time ( chỉ có tác dụng với script đang chạy)
ini_set("error_reporting", E_ALL);

Ở đầu script, thêm vào:
error_reporting(E_ALL);

Nếu ko set như thế thì mặc định nó sẽ có giá trị là E_ALL & ~E_NOTICE & ~E_STRICT , và như thế nó sẽ báo trình thông dịch PHP hiện tất cả lỗi ngoại trừ Notices và Strict Notices. Danh sách các giá trị bạn có thể truyền cho error_reporting là:
Value - Constant
1 -E_ERROR
2 -E_WARNING
4 -E_PARSE
8 -E_NOTICE
16 -E_CORE_ERROR
32 -E_CORE_WARNING
64 -E_COMPILE_ERROR
128 -E_COMPILE_WARNING
256 -E_USER_ERROR
512 -E_USER_WARNING
1024 -E_USER_NOTICE
6143 -E_ALL 2048 -E_STRICT
4096 -E_RECOVERABLE_ERROR

Bạn có thể dùng giá trị trực tiếp hoặc constant đều được (nên dùng constant cho dễ hiểu)
Lưu ý: - Khi website đã hoạt động ổn định thì nên tắt tính năng này đi bằng cách set error_reporting thành 0:
error_reporting(0);

Đó chính là bước chuẩn bị cần thiết để "bắt lỗi" với PHP.
Khởi đầu với những lỗi cơ bản - Parse Errors Parse Error là những lỗi về cú pháp (syntax error). Lỗi này sẽ xuất hiện khi bạn viết code không theo đúng khuôn dạng PHP quy định như: thiếu dấu ( , dấu nháy " , sai chính tả từ khóa, sai tên hàm ... Đây là lỗi thuộc dạng thường gặp và dễ sửa. Khi gặp lỗi này PHP sẽ xuất ra những thông báo cho bạn biết xuất hiện lỗi ở dòng nào và lý do lỗi (khá chung chung) Bạn xem đoạn code sau:
<?php print "Hello World; ?>

Nhìn vào sẽ thấy ngay đoạn code này thiếu dấu nháy cuối chuỗi ở print "Hello World; Và khi chạy PHP sẽ tặng bạn 1 thông báo thế này:
Parse error: syntax error, unexpected $end in D:\xampp\htdocs\broken.php on line 5

Và nếu chưa quen bạn sẽ rất ngạc nhiên vì ko biết dòng số 5 có lỗi gì. Điều này bởi vì PHP sẽ xem dấu nháy trước chữ Hello là đánh dấu bắt đầu 1 chuỗi, nó sẽ dò theo cho đến kí tự nháy tiếp theo để kết thúc 1 chuỗi. Trong trường hợp này nó dò đến tận cùng code vẫn ko gặp, đành phải ... hét lên có lỗi ở đấy. Và khi PHP báo lỗi ở dòng, Bạn nên tìm ngược lên, dò từng dòng xem có chuỗi nào ko được bao trong cặp nháy hay không. Đây là những cặp dấu bao thông dụng, rất thường bị lỗi unexpected $end.
Bạn xem đoạn code sau:
<?php
$yourName = "Jordan";
if $yourName == "Jordan")
{ echo "Hello $yourName"; }
?>

Nhìn vào ta sẽ thấy lệnh if có lỗi thiếu ( . Và đúng như thế PHP sẽ báo lỗi thế này:
Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in D:\xampp\htdocts\broken.php on line 4

Lần này PHP báo chính xác dòng có lỗi. Một lỗi cũng hay gặp là thiếu dấu ; ở cuối câu lệnh. Với lỗi này thì PHP sẽ báo lỗi ở dòng phía sau dòng có lỗi. Vì thế nên kiểm tra trước sau trên dưới cẩn thận.

Sử dụng var_dump(). Hàm này rất hữu dụng khi ta cần sửa các logic error. Khi cần biết 1 biến đang chứa những gì bên trong và kiểu dữ liệu của nó ta cứ var_dump in nó ra xem xét VD:
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

Sẽ cho ra:

array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } }
↑↑ Lượt xem: 348
score
Đánh giá: 4.5/ 5, 348 bình chọn
- Chia sẻ:G  T
BBCode:

Link:
+ Còn “nhiều” Lắm!
+

Share code Diễn đàn trên Xtgem Full chức năng cực chất GetSmile.Mobie.In bởi Cú Đêm Việt Nam

+

Share code PHP hiển thị thông tin khách đang online trên Site

+

Sử dụng HTML và CSS tạo hiệu ứng hiển thị mô tả khi di chuột vào hình ảnh

+

Ajax là gì? Hướng dẫn code cơ bản khi xử lý dữ liệu với jQuery Ajax

+

Share full code PHP bộ tool cài đặt và quản lý Filelist KhoTruyen365 Xtgem

Trang chủ Cú Đêm Việt Nam Trang Chủ[1-2-348]