Khắc phục lỗi “PHP Missing MySQL Extension” WordPress

3 giờ ago, Hướng dẫn WordPress, 1 Views
Khắc phục lỗi “PHP Missing MySQL Extension” WordPress

Khắc phục Lỗi “PHP Missing MySQL Extension” WordPress

Khi xây dựng và quản lý một trang web WordPress, bạn có thể gặp phải nhiều lỗi khác nhau. Một trong những lỗi phổ biến và gây khó chịu là lỗi “PHP Missing MySQL Extension”. Lỗi này thường xuất hiện khi WordPress không thể kết nối với cơ sở dữ liệu MySQL vì phần mở rộng MySQL cho PHP chưa được cài đặt hoặc kích hoạt. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết về cách khắc phục lỗi này.

Nguyên nhân gây ra lỗi “PHP Missing MySQL Extension”

Lỗi “PHP Missing MySQL Extension” thường xảy ra vì một trong các lý do sau:

  • Phần mở rộng MySQL chưa được cài đặt trên máy chủ của bạn.
  • Phần mở rộng MySQL đã được cài đặt nhưng chưa được kích hoạt trong cấu hình PHP.
  • Phiên bản PHP không tương thích với phần mở rộng MySQL bạn đang sử dụng.
  • File cấu hình PHP (php.ini) bị lỗi hoặc thiếu thông tin cần thiết.

Kiểm tra Lỗi “PHP Missing MySQL Extension”

Trước khi thực hiện bất kỳ thay đổi nào, bạn cần xác định chính xác liệu lỗi có phải do thiếu phần mở rộng MySQL hay không. Cách đơn giản nhất là kiểm tra thông tin PHP trên trang web của bạn.

1. **Tạo một file PHP đơn giản:** Tạo một file có tên `info.php` và đặt đoạn code sau vào:

“`php

“`

2. **Tải file lên máy chủ:** Tải file `info.php` lên thư mục gốc của trang web WordPress (thường là `public_html` hoặc `www`).

3. **Truy cập file trên trình duyệt:** Mở trình duyệt và truy cập `yourdomain.com/info.php` (thay `yourdomain.com` bằng tên miền của bạn).

4. **Tìm kiếm thông tin MySQL:** Trong trang `phpinfo()`, tìm kiếm cụm từ “MySQL”. Nếu không tìm thấy bất kỳ thông tin nào liên quan đến MySQL, điều đó có nghĩa là phần mở rộng MySQL chưa được cài đặt hoặc kích hoạt.

Khắc phục Lỗi trên Các Môi Trường Khác Nhau

Việc khắc phục lỗi “PHP Missing MySQL Extension” có thể khác nhau tùy thuộc vào môi trường mà trang web của bạn đang chạy (ví dụ: hosting chia sẻ, VPS, máy chủ riêng). Dưới đây là các bước thực hiện cho từng môi trường:

1. Hosting Chia Sẻ

Trên hosting chia sẻ, bạn thường không có quyền truy cập trực tiếp vào cấu hình hệ thống. Tuy nhiên, hầu hết các nhà cung cấp hosting đều cung cấp một giao diện quản lý (ví dụ: cPanel, Plesk) cho phép bạn quản lý cài đặt PHP.

* **Tìm kiếm tùy chọn “PHP Extensions” hoặc “PHP Settings”:** Đăng nhập vào cPanel hoặc Plesk của bạn và tìm kiếm một tùy chọn có tên tương tự như “PHP Extensions”, “PHP Settings”, “PHP Configuration”, hoặc “Select PHP Version”.
* **Kích hoạt phần mở rộng MySQL:** Trong giao diện này, bạn sẽ thấy danh sách các phần mở rộng PHP có sẵn. Tìm phần mở rộng `mysqli` (hoặc `mysql`) và đảm bảo rằng nó được chọn (đánh dấu tích).
* **Lưu thay đổi:** Sau khi chọn phần mở rộng, lưu các thay đổi. Máy chủ có thể cần một vài phút để áp dụng các thay đổi này.
* **Kiểm tra lại:** Sau khi lưu thay đổi, kiểm tra lại trang `info.php` để xem phần mở rộng MySQL đã được kích hoạt chưa. Nếu vẫn chưa được kích hoạt, hãy liên hệ với nhà cung cấp hosting của bạn để được hỗ trợ.

2. VPS hoặc Máy Chủ Riêng

Nếu bạn đang sử dụng VPS hoặc máy chủ riêng, bạn có quyền truy cập trực tiếp vào cấu hình hệ thống và có thể cài đặt và kích hoạt phần mở rộng MySQL theo cách thủ công.

* **Kết nối đến máy chủ:** Sử dụng SSH (ví dụ: PuTTY) để kết nối đến máy chủ của bạn.
* **Xác định phiên bản PHP:** Chạy lệnh `php -v` để xác định phiên bản PHP đang sử dụng.

“`bash
php -v
“`

* **Cài đặt phần mở rộng MySQL:** Tùy thuộc vào hệ điều hành và phiên bản PHP của bạn, bạn cần cài đặt phần mở rộng MySQL phù hợp. Dưới đây là một số ví dụ:

* **Ubuntu/Debian (PHP 7.x hoặc 8.x):**

“`bash
sudo apt update
sudo apt install php7.x-mysql # Thay 7.x bằng phiên bản PHP của bạn (ví dụ: php7.4-mysql)
“`

* **CentOS/RHEL (PHP 7.x hoặc 8.x):**

“`bash
sudo yum install php7x-php-mysqlnd # Thay 7x bằng phiên bản PHP của bạn (ví dụ: php73-php-mysqlnd)
“`

* **Tìm file `php.ini`:** Sau khi cài đặt phần mở rộng, bạn cần kích hoạt nó trong file `php.ini`. Để tìm vị trí của file `php.ini`, bạn có thể sử dụng lệnh sau:

“`bash
php -i | grep “Loaded Configuration File”
“`

* **Chỉnh sửa file `php.ini`:** Mở file `php.ini` bằng trình soạn thảo văn bản (ví dụ: `nano`, `vim`) và thêm hoặc bỏ ghi chú dòng sau (tùy thuộc vào phần mở rộng bạn cài đặt):

“`ini
extension=mysqli
“`

Hoặc, nếu bạn sử dụng `mysqlnd`:

“`ini
extension=pdo_mysql
extension=mysqli
“`

* **Khởi động lại dịch vụ web:** Sau khi chỉnh sửa file `php.ini`, bạn cần khởi động lại dịch vụ web (ví dụ: Apache, Nginx) để các thay đổi có hiệu lực.

* **Apache:**

“`bash
sudo systemctl restart apache2
“`

* **Nginx:**

“`bash
sudo systemctl restart nginx
“`

Hoặc, nếu bạn sử dụng PHP-FPM:

“`bash
sudo systemctl restart php7.x-fpm # Thay 7.x bằng phiên bản PHP của bạn
“`

* **Kiểm tra lại:** Sau khi khởi động lại dịch vụ web, kiểm tra lại trang `info.php` để xem phần mở rộng MySQL đã được kích hoạt chưa.

Sử dụng WP-CLI để kiểm tra và sửa chữa

WP-CLI (WordPress Command Line Interface) là một công cụ mạnh mẽ để quản lý WordPress từ dòng lệnh. Bạn có thể sử dụng WP-CLI để kiểm tra trạng thái của phần mở rộng MySQL và thậm chí sửa chữa một số vấn đề.

1. **Kiểm tra phiên bản PHP và các extensions đã cài đặt:** Sử dụng lệnh `wp doctor check`

“`bash
wp doctor check
“`

Lệnh này sẽ kiểm tra nhiều khía cạnh của cài đặt WordPress, bao gồm cả các phần mở rộng PHP cần thiết.

2. **Nếu WP-CLI phát hiện ra vấn đề với phần mở rộng MySQL, nó sẽ đưa ra gợi ý sửa chữa.** Làm theo hướng dẫn đó để khắc phục.

Các Giải Pháp Khác

Nếu các bước trên không giải quyết được vấn đề, bạn có thể thử các giải pháp sau:

  • **Kiểm tra quyền truy cập cơ sở dữ liệu:** Đảm bảo rằng người dùng cơ sở dữ liệu mà WordPress sử dụng có đủ quyền truy cập để đọc và ghi vào cơ sở dữ liệu.
  • **Kiểm tra thông tin kết nối cơ sở dữ liệu:** Xác minh rằng thông tin kết nối cơ sở dữ liệu (hostname, username, password, database name) trong file `wp-config.php` là chính xác.
  • **Cập nhật WordPress:** Đôi khi, lỗi có thể do một lỗi trong phiên bản WordPress cũ. Cập nhật lên phiên bản WordPress mới nhất có thể giải quyết được vấn đề.

Liên hệ với Nhà Cung Cấp Hosting

Nếu bạn đã thử tất cả các giải pháp trên mà vẫn không khắc phục được lỗi, hãy liên hệ với nhà cung cấp hosting của bạn để được hỗ trợ. Họ có thể có thông tin chi tiết hơn về cấu hình máy chủ của bạn và có thể giúp bạn xác định và giải quyết vấn đề.

Kết luận

Lỗi “PHP Missing MySQL Extension” có thể gây khó chịu, nhưng nó thường có thể được khắc phục bằng cách cài đặt hoặc kích hoạt phần mở rộng MySQL cho PHP. Bằng cách làm theo các bước được nêu trong bài viết này, bạn có thể tự mình giải quyết vấn đề và đưa trang web WordPress của bạn trở lại hoạt động bình thường. Quan trọng nhất, hãy luôn sao lưu trang web và cơ sở dữ liệu của bạn trước khi thực hiện bất kỳ thay đổi lớn nào.