Cũng tiếp tục loạt bài liên quan tới việc sửa các lỗi phổ biến trong WordPress mà lần trước mình đã đăng bài cách sửa lỗi mất nút soạn thảo. Ở bài này, mình sẽ hướng dẫn qua cách sửa 10 lỗi phổ biến nhất mà hầu như ai cũng đã từng gặp qua để nếu bạn có gặp phải thì không mất công phải hỏi ở đâu chi cho mệt.

Lỗi 1. Fatal Error: Allowed Memory Size Of XXX Bytes Exhausted

Lỗi này có thể xảy ra thường xuyên hoặc thỉnh thoảng khi bạn thực hiện tác vụ nào đó trong website. Khi gặp lỗi, nó sẽ trả về lỗi trắng trang kèm theo thông báo là “Fatal Error: Allowed Memory Size Of XXX Bytes Exhausted”.

Nguyên nhân & Cách khắc phục:

Nguyên dân xảy ra lỗi này là do bộ nhớ chung của máy chủ mà bạn được phép sử dụng không cung cấp đủ cho ứng dụng PHP để xử lý WordPress, rất hay gặp trên các host miễn phí và đôi lúc là cả trên host trả phí nếu website bạn có quá nhiều dữ liệu. Trước tiên, hãy thử tự khắc phục bằng cách chèn đoạn sau đây vào file wp-config.php:
01
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Sau đó thêm vào .htaccess ở thư mục gốc nếu sử dụng Shared Host hoặc Apache.
01
php_value memory_limit 512M
Nếu vẫn không được thì thử tạo php.ini ở thư mục gốc của website và thêm:
01
memory_limit=512M
Nếu có thể, bạn hãy liên hệ với đội ngũ hỗ trợ kỹ thuật để họ xử lý giúp bạn vì trong  một số nhà cung cấp họ không cho phép bạn tự làm việc này.

Lỗi 2. Warning: Cannot Modify Header Information

Thông thường sẽ có nhiều bạn trở nên hoảng hốt khi tự dưng website xuất hiện thêm thông báo “Warning: Cannot modify header information – headers already sent by…..” phía trên sau khi cập nhật WordPress, theme, plugin,….

Nguyên nhân & Cách khắc phục:

Đối với WordPress, nguyên nhân chính phổ biến nhất là file báo lỗi (xem trong đoạn báo lỗi) bị thừa một khoảng trắng trước ký tự <?php ở đầu. Do đó, hãy mở file bị lỗi ra và hãy chắc chắn rằng đầu file không chứa bất kỳ khoảng trắng nào. Và để cho chắc ăn, hãy chủ động thêm ?> ở cuối file. Hoặc nếu có thể, bạn hãy tải file bị lỗi về và mở bằng Notepad++, sau đó chọn Encoding -> UTF-8 without BOM.

Lỗi 3. “Briefly Unavailable For Scheduled Maintenance”

Sau khi bấm nút update WordPress hoặc Theme/Plugin và bấm vào tác vụ khác có thể bạn sẽ gặp lỗi này.

Nguyên nhân & Cách khắc phục:

Khi update, WordPress sẽ tự động đưa website về trạng thái bảo trì để hệ thống tự động cập nhật làm xong việc của nó để tránh các phiền toái xảy ra. Vì thế, thông thường thì lỗi này sẽ tự động mất sau khoảng vài chục giây hoặc vài phút. Trong vài trường hợp hiếm hoi, do quá trình update xảy ra lỗi nên WordPress không thể đưa website về trạng thái ban đầu nên sẽ hiển thị thông báo này gần như là mãi mãi. Lúc đó, hãy thử khắc phục bằng cách xóa file .maintenance ở thư mục gốc thông qua FTP. Lúc này mọi thứ sẽ bình thường trở lại.

Lỗi 4. Lỗi trắng trang

Trắng trang không phải là lỗi, đó là một tính năng giúp website bạn bảo mật hơn khi xảy ra lỗi bên trong. Thông thường khi lỗi trình duyệt sẽ hiển thị lỗi ra kèm đường dẫn của tập tin bị lỗi hay nguyên nhân bị lỗi, điều này có thể sẽ nguy hiểm trong một vài trường hợp nếu kẻ xấu nhìn thấy, nên webserver sẽ không hiển thị ra và nó thành “lỗi” trắng trang.

Nguyên nhân & Cách khắc phục:

Các nguyên nhân phổ biến nhất là thường:
  • Sửa file functions.php ở theme không đúng cách, sai cú pháp.
  • Plugins không tương thích với phiên bản WordPress hiện tại.
  • Themes bị viết sai cú pháp, hoặc sử dụng hàm không tồn tại.
  • ….
Do đó, nếu bị lỗi trắng trang thì hãy cố gắng nhớ lại xem mình đã táy máy những gì và quay lại đó sửa. Hoặc xem lỗi của website để biết nó lỗi ở đâu mà sửa. Để hiển thị lỗi ra trình duyệt, bạn mở wp-config.php tìm WP_DEBUG và sửa false thành true. Đồng thời thêm ngay bên dưới nó:
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
Bây giờ hãy vào lại website xem đã hiển thị lỗi chưa. Nếu chưa thì vào thư mục wp-content và mở tập tin debug.log lên nhé. Sau khi bạn đã sửa xong lỗi, nhớ sửa WP_DEBUG thành false và xóa 2 dòng vừa chèn vào. Nên xem: Lỗi trắng trang? hãy đọc file log

Lỗi 5. Bị hỏi tài khoản FTP khi cài theme/plugin

Nếu bạn gặp lỗi này khi cài plugin hay theme, thì điều đó có nghĩa là phân quyền thư mục trên host chưa đúng. Có nghĩa là PHP không thể ghi dữ liệu mới lên thư mục của website. Vì vậy bạn hãy chắc chắn các thư mục trên host đều CHMOD là 755, tập tin là 644. Nếu bạn sử dụng Shared Host thì hãy liên hệ với nhà cung cấp để họ hỗ trợ phân quyền lại. Nếu sử dụng VPS/máy chủ riêng thì hãy chắc chắn đã phân quyền thư mục để các user chạy PHP có thể tương tác vào. Ví dụ:
01
chown -R apache:apache /path/domain.com
Hoặc nếu là NGINX (CentOS):
01
chown -R nginx:nginx /path/domain.com
Nếu dùng Ubuntu/Debian thì:
01
chown -R www-data:www-data /path/domain.com
 

Lỗi 6. Error Establishing A Database Connection

Lỗi này sẽ xuất hiện ở hai trường hợp:
  • Thông tin database bạn nhập vào file wp-config.php bị sai.
  • MySQL đang bị quá tải không thể xử lý dữ liệu gửi đi và gửi về được, thường gặp ở các host yếu hoặc bị DDoS.
  • Dung lượng lưu trữ bị đầy nên MySQL không khởi động được.

Lỗi 7. 404 Not Found khi vào xem bài viết

Thông báo lỗi này có lẽ hầu như ai cũng biết đó là máy chủ không tìm được tập tin tương ứng với truy vấn người dùng ở trình duyệt. Trong WordPress, nhiều người sẽ mắc phải lỗi này khi vào xem bài viết hoặc một cái gì đó bất kỳ sau khi tùy chỉnh permalink. Lý do xuất hiện lỗi là do cơ chế rewrite URL chưa được kích hoạt trên website bởi vì file .htaccess chưa chèn các quy tắt rewrite cho nó. Trước tiên bạn hãy vào Settings -> Permalinks và ấn nút Save Changes (Cài đặt -> Đường dẫn tĩnh). Nếu vẫn không được thì chèn đoạn sau vào tập tin .htaccess ở thư mục gốc của website.
01
02
03
04
05
06
07
08
09
10
11
12
</pre>
<pre># BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress</pre>
<pre>
Nếu bạn sử dụng NGINX làm webserver dùng chung với PHP-FPM thì hãy tham khảo các cấu hình NGINX cho WordPress.

Lỗi 8. “unable to create directory wp-content/uploads…” khi upload ảnh

Có thể bạn đã từng đau đầu vì nó báo lỗi màu đỏ choét như thế mỗi khi upload ảnh lên bài viết. Lý do xuất hiện lỗi này là máy chủ không có quyền ghi dữ liệu để tiến hành tạo thư mục hoặc đăng một dữ liệu mới vào đó. Để khắc phục, bạn có thể tiến hành CHMOD thư mục wp-content/uploads và tất cả các thư mục con bên trong của nó thành 755.

Lỗi 9. Stylesheet Is Missing

stylesheet-missing-wordpress-error2 Đối với một số người dùng WordPress mới thì sẽ thường xuyên gặp lỗi này khi tải file theme từ internet về thay vì cài theme có trong thư viện. Lỗi này có 2 nguyên nhân chính:
  • File theme thiếu file style.css (hiếm gặp).
  • Theme bị nén sai cấu trúc. Bạn cài theme làm sao mà khi vào host, theme bạn phải có cấu trúc là /wp-content/themes/tên-theme/style.css

Lỗi 10. PCLZIP_ERR_BAD_FORMAT (-10).

wptheme-rar-problem Cũng là một lỗi phổ biến liên quan khi upload theme từ máy tính lên. Nguyên nhân là do theme bạn upload lên là định dạng .rar chứ không phải .zip, WordPress chỉ chấp nhận file .zip mà thôi để nó tự động giải nén. Cách khắc phục là hãy giải nén theme ra và nén lại thành .zip thay vì .rar.

Lỗi 11. Error: The uploaded file exceeds the upload_max_filesize

Lỗi này thường xảy ra nếu bạn dùng Shared Host và sẽ gặp khi bạn upload tập tin gì đó trên host. Nguyên nhân là tập tin bạn tải lên vượt quá giới hạn dung lượng tải lên cho phép của PHP mà máy chủ của họ thiết lập. Cách khắc phục là chèn đoạn sau vào tập tin .htaccess ở thư mục gốc trên host để tăng giới hạn lên 10MB.
01
02
php_value upload_max_filesize 100M
php_value post_max_size 100M
Hoặc nếu chèn vào .htaccess bị lỗi 500 thì hãy xóa đi và tạo php.ini trong thư mục gốc website rồi chèn:
01
02
upload_max_filesize = 100M
post_max_size = 100M

LỜI KẾT

Đó là 10 lỗi cơ bản nhưng hầu như ai cũng đã từng gặp phải và sẽ có chút bối rối khi lần đầu gặp phải. Nhưng nếu bạn thây còn lỗi nào khác phổ biến hơn, hãy giúp mình bổ sung ở phần bình luận nhé để mình bổ sung vào bài viết.