Hướng dẫn khắc phục lỗi cạn kiệt bộ nhớ trong WordPress

WordPress là một hệ quản trị nội dung CMS phổ biến nhất hiện nay. Để chạy được một website đòi hỏi cần nhiều thứ. Hai trong số đó là máy chủ web và bộ nhớ. Tuy nhiên trong một số trường hợp, máy chủ của bạn không cung cấp đủ tài nguyên để WordPress có thể hoạt động một cách trơn tru. Điều này có thể dẫn đến phát sinh ra lỗi cạn kiệt bộ nhớ (Memory Exhausted Error) trong WordPress.

Và tin tốt là WordPress rất linh hoạt, vì thế bạn có thể tinh chỉnh trang web của mình để nó có thể sử dụng nhiều tài nguyên hơn. Bằng cách này, bạn có thể khắc phục lỗi cạn kiệt bộ nhớ trong WordPress.

Trong bài viết này chúng ta cùng tìm hiểu lỗi cạn kiệt bộ nhớ là gì? Nguyên nhân gây ra lỗi cạn kiệt bộ nhớ và cách khắc phục nó.

Lỗi cạn kiệt bộ nhớ trong WordPress là gì?

Lỗi cạn kiệt bộ nhớ

Bạn đã bao giờ nhìn thấy thông báo “Fatal error: allowed memory size of 67108864 bytes exhausted” trên trang của mình? Thông báo lỗi này có vẻ rất “nguy hiểm” nó khiến bạn nghĩ rằng blog/website của mình đang gặp phải một lỗi rất nghiêm trọng. Tuy nhiên thực tế nó đơn giản hơn rất nhiều.

WordPress được xây dựng bởi ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu MySQL. Đối với ngôn ngữ lập trình PHP, thông báo lỗi Fatal error có nghĩa là trang web của bạn gặp phải sự cố khiến cho các tập lệnh không thể thực thi một cách bình thường. Các tập lệnh là một phần của blog/website của bạn, nó định nghĩa và quy định một hành động cụ thể nào đó. Nếu bạn xem WordPress như một hệ điều hành thì các tập lệnh có thể xem như là một tập tin exe. Một ví dụ khác có thể giúp bạn dễ hình dung hơn là plugin được tạo thành từ nhiều tập lệnh, hàm khác nhau để cùng hoàn thành một tính năng cụ thể nào đó.

Lỗi cạn kiệt bộ nhớ xảy ra khi WordPress cố thực thi một tập lệnh nào đó nhưng không thể vì lý do thiếu bộ nhớ. Mà bộ nhớ trên máy chủ web thường phụ thuộc vào máy chủ web và gói thuê bao mà bạn đang dùng. Để hạn chế thấp nhất nguyên nhân phát sinh lỗi cạn kiệt bộ nhớ, bạn nên sử dụng dịch vụ hosting chất lượng và phù hợp với túi tiền của mình. Một trong những nhà cung cấp dịch vụ hosting mà tôi đang dùng và cảm thấy rất hài lòng là Hawkhost.

Tuy nhiên bạn có thể khắc phục triệt để lỗi cạn kiệt bộ nhớ bằng cách cấp thêm một ít tài nguyên cho website của mình. Chúng ta cùng tìm hiểu cách khắc phục lỗi này.

Cách khắc phục lỗi cạn kiệt bộ nhớ

Trước khi đi sâu vào tìm hiểu cách khắc phục lỗi cạn kiệt bộ nhớ, một điều quan trọng bạn cần chú ý là bài viết này sẽ yêu cầu bạn thực hiện một số thay đổi đối với các tập tin trong WordPress site của mình.

Việc chỉnh sửa các tập tin quan trọng của WordPress chứa đựng rất nhiều rủi ro. Vì vậy tôi sẽ trình bày một cách chi tiết và tỉ mỉ. Nhưng điều quan trọng bạn cần làm trước khi thực hiện bất kỳ thay đổi nào đối với các tập tin quan trọng trên WordPress site của mình là hãy sao lưu dữ liệu. Dù sao thì cẩn thận vẫn hơn, nếu lỡ có gặp sự cố thì còn có phương án phục hồi.

Nếu bạn chưa biết cách sao lưu và phục hồi dữ liệu bạn có thể đọc lại bài viết này.

Bước 1: Tìm đến tập tin wp-config

Tập tin wp-config.php là một trong những tập tin vô cùng quan trọng của WordPress. Nó chứa tất cả các thông tin có liên quan đến việc cấu hình website của bạn. Nếu không có nó, nền tảng của bạn sẽ không thể hoạt động được. Nó cũng là tập tin mà bạn sẽ cần chỉnh sửa nếu bạn muốn tăng dung lượng bộ nhớ mà máy chủ của mình cấp cho WordPress.

Để thực hiện việc này bạn cần sử dụng giao thức File Transfer Protocol (FTP), hoặc trình quản lý tập tin File Manager trên cPanel của máy chủ. Các công cụ này cho phép bạn tải lên, tải xuống, sao chép, chỉnh sửa tập tin trên máy chủ bằng cách sử dụng trình máy khách. Có rất nhiều trình máy khách client, nhưng bạn có thể sử dụng  FileZilla đây là một phần mềm mã nguồn mở và tương thích với các hệ điều hành phổ biến nhất hiện nay.

Sử dụng FTP để kết nối đến website của bạn. Nếu bạn chưa biết cách sử dụng FTP hãy đọc lại bài viết này.

Sau khi đã kết nối, bạn sẽ nhìn thấy các thư mục hiển thị ở phía bên phải của FileZilla. Kích đúp vào thư mục có tên là public_html. Đây là thư mục gốc WordPress của bạn, nó chứa tất cả các tập tin quan trọng và cần thiết của WordPress site. Tập tin wp-config.php cũng nằm trong này, vì thế bạn có thể tìm thấy nó một cách dễ dàng.

Lưu ý là trong thư mục public_html có hàng trăm tập tin và thư mục. Vì thế không thực hiện bất kỳ thay đổi nào đối với chúng trừ khi bạn biết rõ mình đang làm gì. Việc bạn cần làm là tìm đến tập tin wp-config.php và thực hiện bước tiếp theo.

Bước 2: Chỉnh sửa tập tin wp-config

Như tôi đã đề cập ở trên, FPT cho phép bạn thực hiện việc chỉnh sửa các tập tin trên máy chủ web. Để chỉnh sửa tập tin wp-config.php, hãy nhấp chuột phải lên nó sau đó chọn tùy chọn View/Edit. Thao tác này sẽ tải về một bản sao của tập tin wp-config.php sau đó dùng trình chỉnh sửa văn bản trên máy tính của bạn để mở nó. Tập tin của bạn sẽ trông như hình bên dưới:

Có rất nhiều mã lệnh ở bên trong tập tin wp-config.php. Nhưng bạn cũng đừng quá để tâm, vì chúng ta không cần phải hiểu hết các mã này. Việc chính chúng ta cần làm là thêm đoạn mã bên dưới vào tập tin wp-config.php.

define(‘WP_MEMORY_LIMIT’, ‘128M’);

Bạn có thể thêm đoạn code trên ở bất kỳ vị trí nào miễn là nó phải nằm trước dòng /* That’s all, stop editing! Happy blogging. */ ở cuối tập tin. Tuy nhiên bạn nên thêm nó vào phía trên dòng này để sau này dễ dàng tìm kiếm và chỉnh sửa.

Trong ví dụ trên, tôi tăng bộ nhớ từ 68M lên 128M. Con số này gần gấp đôi bộ nhớ mặc định và quá đủ cho một WordPress. Một số người cho rằng nên tăng bộ nhớ lên 256M hoặc thậm chí là 500M. Tuy nhiên theo tôi con số này là không cần thiết vì nó gây lãng phí tài nguyên.

Sau khi thêm xong, bạn hãy lưu lại thay đổi và đóng trình chỉnh sửa văn bản. FileZilla sẽ hỏi bạn có muốn lưu nội dung vừa rồi lên tập tin wp-config.php trên máy chủ hay không. Bạn hãy chọn Yes.

Trước khi tiếp tục, có một điều bạn cũng nên biết thêm là bạn cũng có thể yêu cầu máy chủ cung cấp thêm bộ nhớ cho website của mình thông qua các tập tin .htaccessphp.ini.

Bạn có thể đạt được kết quả tương tự đối với cả 3 tập tin. Tuy nhiên tôi thấy cách tiếp cận với tập tin wp-config.php là đơn giản và hiệu quả nhất nên tôi mới giới thiệu trong bài viết này.

Bước 3: Kiểm tra xem đã khắc phục được lỗi hay chưa

Sau khi đã thực hiện các thay đổi trong tập tin wp-config, việc tiếp theo bạn cần làm là kiểm tra xem đã khắc phục được lỗi cạn kiệt bộ nhớ hay chưa. Bạn cần xem thử thông báo lỗi “Fatal error: allowed memory size of 67108864 bytes exhausted” có còn xuất hiện hay không.

Lỗi này sẽ không còn xuất hiện nữa trừ khi máy chủ web không cho phép bạn chỉnh sửa nội dung tập tin wp-config.php một cách thủ công. Trong trường hợp đó bạn cần liên hệ với nhà cung cấp dịch vụ và đề nghị sự hỗ trợ từ họ.

Nếu lỗi vẫn còn, nhưng con số chỉ bộ nhớ phân bổ trong thông báo lỗi là 128M thì bạn cần tăng nó lên. Tuy nhiên điều này rất hiếm gặp bởi vì 128M đủ để các WordPress site hoạt động rồi.

Xin chúc mừng! Bạn vừa khắc phục thành công lỗi cạn kiệt bộ nhớ trong WordPress. Nhưng có một phương pháp khác cũng hoạt động tương đối hiệu quả mà có thể bạn muốn tìm hiểu.

Sử dụng dòng lệnh để khắc phục lỗi cạn kiệt bộ nhớ

FPT luôn là một lựa chọn tuyệt vời nếu bạn muốn thực hiện các thay đổi trên máy chủ web. Tuy nhiên nó thường không hiệu quả bằng việc sử dùng dòng lệnh (Command Line). Nếu bạn là người dùng Windows, nhấp vào nút Start, nhập vào thanh tìm kiếm cmd, sau đó nhấn Enter. Cửa sổ Command Line sẽ hiện ra.

cmd

Mỗi hệ điều hành khác nhau cho phép bạn thực hiện các thay đổi đối với nó thông qua cửa sổ dòng lệnh. Và tất nhiên là các lệnh trên các hệ điều hành khác nhau sẽ khác nhau.

Tương tự bạn có thể truy cập vào website của mình và thực hiện các thay đổi đối với tập tin wp-config.php bằng các lệnh đơn giản. Quá trình này thường nhanh hơn khi so sánh với cách sử dụng FTP.

Tuy nhiên hầu hết các gói Shared Hosting đều không cung cấp Secure Shell Access (SSH). Đây là loại kết nối có thể giúp bạn ra lệnh cho máy chủ thực thi một tác vụ nào đó thông qua cửa sổ dòng lệnh.

Nhưng nếu bạn đang dùng Virtual Private Server (VPS) hoặc các gói cung cấp đầy đủ quyền truy cập vào máy chủ web bạn có thể sử dụng SSH để khắc phục lỗi cạn kiệt bộ nhớ trong WordPress.

Để kết nối thông qua SSH, bạn cũng cần một trình máy khác FTP. Nếu bạn đang sử dụng hệ điều hành Windows thì sự lựa chọn tốt nhất là  PuTTy. Đây là một công cụ nhẹ nhưng rất mạnh mẽ. Sau khi cài đặt và khởi chạy, nó sẽ yêu cầu bạn cung cấp thông tin đăng nhập để kết nối đến WordPress site.

Nhập vào thông tin SSH trên máy chủ của bạn.

Sau khi kết nối thành công, cửa sổ dòng lệnh sẽ xuất hiện. Bạn cần nhập username và password để đăng nhập.

Vì bạn có thể sử dụng dòng lệnh nên bạn sẽ không cần phải mất thời gian để tìm và mở tập tin wp-config.php như cách 1. Bạn chỉ cần dùng một lệnh duy nhất để định vị và mở nó lên là xong.

Giả sử bạn đang ở trong thư mục gốc của WordPress site. Bạn nhập vào lệnh:

sudo nano wp-config.php

Dòng lệnh này sẽ mở tập tin wp-config.php bằng trình chỉnh sửa văn bản Nano. Bạn có thể sử dụng các phím mũi tên để thực hiện việc điều hướng trong trình chỉnh sửa này.

Bạn hãy thêm đoạn mã bên dưới vào trình chỉnh sửa văn bản:

define(‘WP_MEMORY_LIMIT’, ‘128M’);

Nhớ là hãy nhập nó vào trước dòng /* That’s all, stop editing! Happy blogging. *. Sau khi đã nhập xong, nhấn tổ hợp phím Ctrl +X để thoát chương trình. Nếu nó hỏi bạn có lưu lại nội dung vừa thêm hay không nhớ chọn Yes.

Trong một vài trường hợp, việc mở cửa sổ dòng lệnh sẽ không đưa bạn đến thư mục gốc của WordPress site. Vì vậy bạn phải tự định vị và tìm đến đúng vị trí mong muốn.

Để biết mình có đang ở trong thư mục gốc của WordPress site hay không, hãy nhập lệnh Is và cửa sổ dòng lệnh. Bạn sẽ nhìn thấy danh sách các thư mục như wp-admin, wp-content nếu bạn đang ở thư mục gốc của WordPress site. Nếu không hãy tìm đến đúng vị trí.

Trong trường hợp của tôi, WordPress nằm trong thư mục var/www/html. Để đến thư mục đó chúng ta sử dụng lệnh:

cd var/www/html

Bạn cần lưu ý là cấu trúc thư mục sẽ khác nhau tùy theo hosting mà mình đang sử dụng hoặc thư mục mà bạn cài đặt WordPress. Vì thế bạn cần tìm hiểu kỹ hơn hoặc liên hệ với nhà cung cấp hosting để được hỗ trợ.

Khi bạn ở trong thư mục html, bạn sẽ có thể thực thi lệnh mà tôi đã đề cập trước đó để mở tệp wp-config.php bằng Nano. Sau đó, bạn chỉ cần quay lại trang web của mình để kiểm tra xem lỗi cạn kiệt bộ nhớ đã biến mất hay chưa!

Lời kết

Mọi website đều cần một hosting để chạy. Tuy nhiên để nó hoạt động trơn tru, nó cần cung cấp đủ tài nguyên. WordPress có thể hoạt động tốt thậm chí trên cả một hosting có tài nguyên khiêm tốn. Tuy nhiên máy chủ cung cấp càng nhiều bộ nhớ cho website của bạn thì càng tốt.

Nếu gặp phải lỗi cạn kiệt bộ nhớ bạn có thể dễ dàng khắc phục nó bằng cách thực hiện một vài thay đổi trong tập tin wp-config.php.

Nếu bạn có thể dùng SSH để truy cập vào website của mình, bạn có thể sửa lỗi này bằng cửa sổ dòng lệnh. Nếu không bản có thể sử dụng FTP để thực hiện.

Nếu bạn biết cách nào khác có thể sửa lỗi cạn kiệt bộ nhớ hãy chia sẻ với tôi bằng cách để lại bình luận phía bên dưới.

Nếu bạn thấy bài viết hữu ích đừng quên Like và Share.

Hẹn gặp lại bạn trong bài viết tiếp theo./.

 

Đăng ký nhận bài viết mới nhất

Hãy đăng ký nhận tin để nhận được những nội dung thú vị và tuyệt vời!

Để lại bình luận