Khắc phục các lỗi thường gặp của WordPress

wordpress-error-warning-cannot-modify-header-information

Có bao giờ sau khi bạn cài và kích hoạt một theme/plugin mới nào đó thì blog trắng tinh. Hoặc đang cập nhật WordPress thì mất kết nối mạng, khi kết nối lại thì WordPress thông báo đang trong chế độ bảo trì (maintenance mode) ? Hay thông báo lỗi kết nối đến cơ sở dữ liệu.

Nếu đang tìm kiếm cách giải quyết trong những trường hợp như vậy thì bạn nên theo dõi kĩ bài viết này. Bài này sẽ đề cập đến những lỗi thường gặp nhất khi làm việc với WordPress và làm thế nào khi gặp phải chúng. Còn nếu bạn chưa gặp lỗi thì cũng nên lưu lại vì kiểu gì bạn cũng gặp thôi ;-) .

1. 500 Internal Server Error

Vấn đề

Website của bạn đang chạy trơn tru thì bỗng nhiên “đứt gánh giữa đường” với một thông báo lỗi dài dằng dặc:

Lí do

Nguyên nhân thường gặp nhất của lỗi 500 Internal Server Error là do tập tin .htaccess gây ra. Nguyên nhân khác có thể do xung đột giữa các plugin hay do quá trình cài đặt WordPress.

Thỉnh thoảng, việc giới hạn bộ nhớ PHP cũng dẫn đến 500 Internal Server Error. Cách đơn giản nhất để tìm nơi gây lỗi là kiểm tra error_log (nhật kí lỗi) của website. Ngoài ra, bạn có thể kích hoạt WP_DEBUG rồi kiểm tra nhật kí lỗi. Mở file wp-config.php và tìm dòng này:

define(‘WP_DEBUG’, false);

Thay đổi dòng này thành:

define(‘WP_DEBUG’, true); //Kích hoạt chế độ sửa lỗi
define(‘WP_DEBUG_LOG’, true); //Lưu lỗi vào file debug.log trong thư mục wp-content
define(‘WP_DEBUG_DISPLAY’, false); //Không hiển thị lỗi ra màn hình

Sửa lỗi

Vì .htaccess là nguyên nhân hàng đầu nên ta giải quyết file này trước tiên. Sử dụng một chương trình FTP truy cập đến thư mục cài đặt WordPress, tìm file .htaccess rồi đổi tên nó thành cài gì đó, .htaccess_old chẳng hạn.

Bây giờ thử tải lại website, nếu không còn gặp lỗi thì bạn đã thành công. Nhưng nhớ truy cập vào khu vực quản trị WordPress, truy cập Settings–>Permalinks rồi bấm nút Save changes để tạo một file .htacess mới nếu không bạn sẽ gặp tiếp lỗi 404 đó :) .

Nếu chưa thành công , hãy truy cập vào thư mục wp-content/plugins rồi đổi tên từng thư mục plugin để xem cái nào gây lỗi. Ngoài ra thử tăng bộ nhớ PHP để đảm bào việc thiếu bộ nhớ không phải là nguyên nhân gây lỗi.

Nếu vẫn thất bại thì bạn phải upload lại thư mục wp-admin và wp-includes.

2. Màn hình trắng (White Screen of Death)

Vấn đề

Như cái tên đã đề cập, khi truy cập vào website, bạn sẽ không thấy gì ngoài một màu trắng.

Lí do

Có rất nhiều nguyên nhân gây ra lỗi WSOD. Phổ biến là việc các plugin hay theme không tương thích. Không tương thích có nhiều nghĩa: một plugin xung đột với một hay nhiều plugin khác, hoặc không chạy với phiên bản hiện tại của WordPress. Tương tự như vậy với các theme.

Sửa lỗi

Truy cập đến thư mục cài đặt WordPress của bạn bằng một chương trình FTP, đến thư mục /wp-content. Tìm thư mục “plugins” rồi đổi tên thành “plugins_old”. Tạo một thư mục mới có tên là “plugins”.

Việc nay sẽ ngưng kích hoạt toàn bộ plugin. Nếu website trở lại bình thường thì plugin của bạn đã gây ra lỗi. Giờ tiến hành chép từng thư mục plugin trong thư mục “plugins_old” vào thư mục “plugins” rồi kích hoạt để xem plugin nào gây lỗi.

Đối với theme, bạn truy cập đến thư mục wp-content/themes rồi đổi tên theme bạn đang sử dụng. Truy cập vào phần quản lý WordPress, Appearane > Themes. Giao diện website của bạn sẽ trở về giao diện mặc định của WordPress.

3. Lỗi chế độ bảo trì (Maintenance Mode)

Vấn đề

Website hiện thông báo đang trong chế độ bảo trì.

Sửa lỗi

Một lần nữa truy cập vào thư mục cài dặt WordPress, bạn tìm và xóa file .maintenance. Lỗi đã được giải quyết!

4. Lỗi mất kết nối đến cơ sở dữ liệu

Vấn đề

Website hiện thông báo “Error Establishing A Database Connection”.

Lí do

Nguyên nhân trực tiếp có thể là do cơ sở dữ liệu của bạn đang mất kết nối thật hoặc cấu hình của file wp-config.php không chính xác.

Hầu hết lỗi kết nối đến cơ sở dữ liệu chỉ có thể giải quyết bởi nhà cung cấp dịch vụ. Một trang web bị hack cũng dẫn đến lỗi này.

Sửa lỗi

Đầu tiên, mở file wp-config.php trong thư mục gốc cài đặt WordPress. Kiểm tra những thông tin bạn nhập để kết nối đến cơ sở dữ liệu là chính xác (database name, username, password và database host). Nếu không có gì sai sót thì chỉ có cách liên hệ với nhà cung cấp host để họ sửa lỗi.

5. Lỗi kết nối hết thời gian (Connection Timed Out)

Vấn đề

Thông báo này xuất hiện khi máy chủ bị quá tải hoặc do cấu hình máy chủ có vấn đề.

Lí do

Điều này thường xảy ra khi máy chủ quá tải và không thế hoàn thành yêu cầu của trình duyệt.

Sửa lỗi

Xóa bớt plugin của bạn. Đặc biệt là những plugin gửi nhiều câu lệnh truy vấn lên máy chủ. Bạn cũng có thể tăng bộ nhớ PHP bằng cách mở file wp-config.php và thêm dòng này vào

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

Việc này sẽ tăng bộ nhớ giới hạn lên 64 MB. Tuy nhiên với một số web host bạn có thể không được phép tăng bộ nhớ giới hạn quá một mức nhất định. Tốt nhất là liên hệ với nhà cung cấp host hoặc thay host khác dễ thở hơn.

6. Error 145

Vấn đề

Error 145 thông báo cho bạn biết cơ sở dữ liệu của WordPress đã bị lỗi.

Sửa lỗi

Hãy đăng nhập vào phpMyAdmin, lựa chọn cơ sở dữ liệu của WordPress. Chọn những bảng bạn muốn sửa lỗi rồi nhấn “Repair Table” từ thanh thả bên phải ở cuối bảng. Chú ý sao lưu cơ sở dữ liệu trước khi thực hiện.

7. Error 28

Vấn đề

Error 28 là một lỗi của MySQL và không liên quan đến WordPress. Ngay cả Drupal, Joomla! và các CMS khác cũng có thể bị lỗi này.

Lí do

Error 28 xảy ra khi bộ nhớ cache trên máy chủ của bạn đã đầy hoặc có quá nhiều tập tin trong thư mục /tmp.

Sửa lỗi

Nếu có thể, bạn hãy dọn sách thư mục /tmp (ngang hàng với thư mục /public_html). Đồng thời liên hệ với nhà cung cấp host để giải quyết những vấn đề liên quan đến cache.

8. Warning: Cannot Modify Header Information — Headers Already Sent

Vấn đề

Có thể bạn đã từng đối mặt với dòng lỗi này “Warning: Cannot modify header information — headers already sent by (output started at /path-to-something-directory/some-config-file:xyz )”.

Lí do

Nguyên nhân gây ra thông báo này là do tồn tại các khoảng trắng trong tập tin được WordPress thông báo lỗi.

Sửa lỗi

Tải file gây ra lỗi về máy và mở nó lên. Chú ý xóa bỏ những khoảng trắng trước thẻ <?php và sau thẻ ?>. Và giữa “?” với “<” hoặc “>” cũng không được có khoảng trống.

9. Warning: File_Get_Contents

Vấn đề

Lỗi có dạng như thế này “Warning: file_get_contents (http://www.url.com/url) [function:file-get-contents]: failed to open stream on line xyz”

Lí do

Lỗi như vậy là do máy chủ được thiết lập bảo mật ở mức độ cao nhằm ngăn chặn việc lạm dụng tài nguyên máy chủ, …

Sửa lỗi

Nếu có thể sửa file php.ini. Mở file đó lên và tìm dòng

allow_url_fopen = Off

Thay “Off” thành “On”

allow_url_fopen = On

Nếu vấn đề chưa được giải quyết thì lại phải liên hệ với nhà cung cấp host yêu cầu họ mở allow_url_fopen lên. Ngoài ra nếu lỗi này có thêm một thông báo nữa là “failed to open stream: no such file or directory in…” thì có nghĩa không tồn tại file trong thông báo hoặc không có quyền mở file đó. Hãy tìm theo đường dẫn trong thông báo để xem file đó có mặt trong không và kiểm tra chmod.

Tìm ở google:
  • Oops! Kết nối thất bại - 500
Dương Triều Blog © 2016