Thứ Hai, 4 tháng 5, 2026

Tại sao code chạy hôm qua, hôm nay lại lỗi? – nỗi đau không của riêng ai

Cuộc đời thật là tươi đẹp! Mọi thứ đang trôi chảy. Công cuộc chinh phục mọi ngôn ngữ lập trình đang tiến hành thuận lợi. Bạn có một ngày "lý tưởng":


  • Code chạy mượt
  • Không lỗi
  • Bạn tự tin đóng máy


👉 Và nghĩ:


"Wow, mệt quá, một ngày "chất như nước cất", thôi nghỉ, mai mở ra làm tiếp, easy thôi 😏"


Sau đó: Một tối tưng bừng hoa lá với các...chiến hữu. Sáng hôm sau…


Bạn mở lại project, tâm hồn thư thái, yên trí là tiếp tục một ngày "chất như nước cất" nữa...

Bấm Run


👉 Và…


💥 LỖI


Bạn đứng hình.


"Ủa?? Hôm qua chạy ngon mà??? Rõ ràng đâu có thêm bớt cái gì đâu? Kỳ vậy ta?"


👉 Chào mừng bạn đến với một trong những trải nghiệm "đau lòng nhất ngành IT":


👉 Code hôm qua chạy, hôm nay lỗi




Code chạy hôm qua nhưng hôm nay lỗi thường do:


  1. thay đổi môi trường
  2. thay đổi dữ liệu
  3. cache
  4. version khác
  5. lỗi ẩn chưa lộ ra
  6. Ví dụ đời thường (rất thật)


👉 Hôm qua:


Bạn ăn bún bò ở quán A

Rất ngon


👉 Hôm nay quay lại:


  • vẫn quán đó
  • vẫn món đó


👉 Nhưng:


"Ủa… sao dở vậy???" 🤨


👉 Lý do có thể là:


  • đổi đầu bếp
  • đổi nguyên liệu
  • nước dùng khác


👉 Code cũng vậy 😅


7 lý do phổ biến nhất

1. Bạn đã sửa code… mà quên


👉 Đây là lỗi "nghe ngu nhưng cực thật"


👉 Hôm qua:


echo "OK";


👉 Hôm nay:


echo $data['name'];


👉 Và $data… không tồn tại 🤡


👉 Bạn:


"Ủa sao lỗi???"


2. Dữ liệu đã thay đổi


👉 Hôm qua database có dữ liệu


👉 Hôm nay:


  • bị xóa
  • hoặc khác format


👉 Ví dụ:


$user = $_POST['username'];


👉 Hôm qua có form

👉 Hôm nay mở trực tiếp URL


→ lỗi 😅


3. Cache "chơi bạn"


👉 Trình duyệt / server cache


👉 Bạn sửa code

👉 Nhưng web vẫn chạy bản cũ


👉 Bạn:


"Mình sửa rồi mà???"


👉 Fix:


  • Ctrl + F5
  • clear cache

4. Environment thay đổi


👉 Hôm qua:


PHP 7


👉 Hôm nay:


PHP 8


👉 Một số code cũ:

→ lỗi ngay


👉 Hoặc:


local chạy OK

lên InfinityFree → lỗi


👉 Vì:


"luật chơi khác" 😅


5. File chưa upload đúng


👉 Bạn sửa file local

👉 Nhưng chưa upload


👉 Web vẫn chạy bản cũ


👉 Đây là lỗi:


"tưởng đã deploy… nhưng chưa" 🤡


6. Session / cookie thay đổi


👉 Hôm qua:


đã login


👉 Hôm nay:


session hết hạn


👉 Code:


echo $_SESSION['user'];


👉 → undefined 😅


7. Lỗi đã tồn tại từ trước (nhưng chưa "lộ mặt")


👉 Đây là "boss cuối"...cực kỳ "thâm độc"


👉 Hôm qua:


chạy đúng case → OK


👉 Hôm nay:


input khác → crash


👉 Ví dụ:


echo 10 / $x;


👉 Hôm qua:


$x = 2 → OK


👉 Hôm nay:


$x = 0 → 💀

Checklist "cứ theo là ra"


👉 Khi gặp case này, đừng hoảng


👉 Check theo thứ tự:


  1. Có sửa code gì không?
  2. Dữ liệu có thay đổi không?
  3. Cache đã clear chưa?
  4. Environment có khác không?
  5. File đã upload đúng chưa?
  6. Session/cookie còn không?
  7. Có case nào mới chưa test không?


👉 80% sẽ tìm ra trong 3 bước đầu 😏


Debug kiểu "đỡ đau đầu"


👉 In log:


var_dump($data);


👉 Hoặc:


echo "Đến bước 1";


👉 Đừng đoán mò

→ để code "nói chuyện" với bạn


Một sự thật ...biết rồi, khổ lắm, nói mãi!


👉 Code không "tự nhiên" lỗi


👉 Luôn có lý do


👉 Chỉ là:


Bạn chưa tìm ra thôi 😅


Tổng kết


"Chạy hôm qua, lỗi hôm nay" là chuyện bình thường


👉 Không phải bạn dở

👉 Mà là:


  • môi trường thay đổi
  • dữ liệu thay đổi
  • hoặc bạn… quên 😏


👉 Quan trọng là:


Debug có phương pháp


FAQ nhanh


Có phải code bị "ma ám" không?

→ Không 😅


Có nên đập máy không?

→ Không (máy không có lỗi 🤡)


Làm sao tránh?

→ Test nhiều case + quản lý code tốt


👉 Bạn có thể cũng đang gặp:

Undefined index trong PHP

MySQL không connect

Python không chạy