Lại gặp tai nạn với Drupal 8.5.0

Submitted by superthin on 19/03/2018 - 08:23:28
PHP làm tui điên

Gần đây Thin nhận được email từ hệ thống thông báo rằng đã có phiên bản Drupal 8.5.0 mới được phát hành. Mặc dù việc lên một phiên bản mới (khi mà phiên bản cũ có những sự nhúng tay chỉnh chọc vào để làm cái gì đó cho phù hợp với tình hình hoặc đáp ứng nhu cầu riêng cá nhân) là việc rất nản lòng. Nhưng với Thin, chẳng dại gì để bọn hacker tập sự biến website của mình thành nơi để thực hành, khoe mẽ.

Thế là quá trình nâng cấp được tiến hành. Đầu tiên đó là việc lấy mã nguồn Drupal 8.5.0 về, giải nén ra. Sau đó chạy chương trình để liệt kê những file đã chỉnh chọc ở phiên bản Drupal hiện tại so với Drupal 8.5.0 nhằm mục đích là lấy những đoạn code có chỉnh sửa ra, patch vào phiên bản mới.

Nghe qua thì đơn giản, nhưng cũng phải mất hơn ba giờ đồng hồ Thin mới làm xong việc patch cho phiên bản mới. Khi đã xong, việc tiếp theo là đưa lên hosting, chép đè (sau khi đã backup phiên bản cũ) lên mã nguồn hiện tại và chạy lệnh để thực hiện việc update, upgrade. Mới đầu, mọi việc xem ra đều ổn thỏa. Ngay đêm hôm đó Thin không thấy có lỗi nào xuất hiện nên yên tâm đi ngủ.

Tối hôm đó, giấc mơ rất đẹp, tay trong tay cùng rượu ngon và gái đẹp. Sáng hôm sau thức giấc, một lần nữa, đời chẳng bao giờ là mơ cả, một thông báo lạnh lùng hiện lên ngay khi truy cập:

No front page content has been created yet.

Thin lại vật vã hơn hai giờ đồng hồ để tìm cách khắc phục, nào là bật log lên, các công cụ hỗ trợ debug lên, xem các thông báo lỗi này nọ,... Cuối cùng, không giải quyết được việc gì. Lúc này mấy cái Unit Test quái quỉ gì đó xem ra chỉ là những công cụ trang trí cho đẹp, cho người ta có cảm giác yên tâm rằng mã được viết đúng, chính xác ở chỗ cần thiết. Nhưng trong thực tế, nó chẳng giúp giải quyết được vấn đề gì.

Thin cũng bỏ ra gần cả tiếng đồng hồ để tra cứu trên cộng đồng Drupal xem có ai bị giống mình không. Sau một lúc đào bới thấy đâu đó từ 2015, 2016 có lỗi tương tự như vậy. Nhưng sau khi đọc kỹ, hóa ra lại là tình huống khác, nó liên quan đến việc cấu hình chi đó chứ không phải lỗi của mã nguồn Drupal. Điều khá khôi hài đó là có một website nữa tương tự cái superthinlabs.com này, có thể nói là chỉ khác về nội dung, còn mã nguồn giống y chang lại không gặp thông báo lỗi như trên. Thế là thế quái nào, do Thin chỉnh chọc bị hỏng sao đó hay là phiên bản Drupal mới này có dính bug. Điều đó phải đợi... hồi sau sẽ rõ.

Cuối cùng, superthinlabs.com này đành phải quay lui về phiên bản Drupal cũ, đợi lúc nào có thời gian rảnh rỗi Thin sẽ lại tiếp tục đào bới xem chuyện gì đã xảy ra.