Rất cảm ơn bạn đã trả lời, có vẻ như bạn đã tìm đúng hướng.
(Cũng được phát hiện với bài đăng trên Stackoverflow, nó thực sự là của tôi. )
Vì vậy, trong Shell với quyền root,
> php -r 'print_r(get_loaded_extensions());'. grep mysql
Sản xuất.
> Cảnh báo PHP. Mô-đun 'mysqli' đã được tải trong Không xác định trên dòng 0
> [21] => mysqli
Trong khi hướng dẫn tương tự được diễn giải qua trình duyệt không hiển thị bất kỳ 'Mysqli' nào
Điều đó tạo ra nhiều câu hỏi, sau đó.
1) cảnh báo trong đầu ra của hướng dẫn trong trình bao dường như cho biết nhiều trường hợp đang cố tải mô-đun đó, đúng không?
Tuy nhiên, tôi đã . ini' trong toàn bộ hệ thống (nhà tù), nhưng không có. Hướng dẫn có thể đến từ đâu khác?
2) Trong tệp php để trình duyệt diễn giải (vì vậy với người dùng 'www'), tôi đã để lại 'phpinfo()' và thêm hướng dẫn 'get_loaded_extensions()' để hiển thị bên dưới. Từ 'phpinfo()', tôi có thể thấy.
Trong bảng "Tác giả mô-đun", mô-đun "Mysqli" và tác giả của nó.
Tôi đã cho rằng điều này có nghĩa là mô-đun đã được tải. Tuy nhiên, 'get_loaded_extensions()' trên cùng trang đó không liệt kê 'mysqli' (nó liệt kê 40 mô-đun khác). Vậy thực tế là Mysqli được hiển thị trong phpinfo() thực sự cho chúng ta biết điều gì?
Trong 'php. ini', nếu tôi bỏ ghi chú dòng 'mysqli tiện ích mở rộng', tôi sẽ nhận được kết quả ở trên. Nếu tôi để nó nhận xét, tôi sẽ không nhận được cảnh báo nữa, nhưng vẫn có cùng một đầu ra khi được thực hiện với quyền root trong shell ([27] => mysqli).
Trang web php có hướng dẫn phpinfo() và get_loaded_extensions() hiển thị những thứ giống nhau (và vâng, tôi đã khởi động lại Apache sau khi thực hiện thay đổi trong php. ini).
Vì vậy, có vẻ như đã xảy ra sự cố trong cấu hình nếu được đọc bởi root Vs bởi 'www' và php. ini dường như không phải là tệp cấu hình hàng đầu cho PHP vì mô-đun Mysqli xuất hiện được tải (dành cho root) bất kể có dòng tương ứng được nhận xét hay không trong php. ban đầu.
Tôi e rằng mình sẽ cần thêm sự trợ giúp để tiến thêm một bước nữa.
Cảm ơn trước.
Tanguy
Tại Bobcares, chúng tôi thường nhận được yêu cầu sửa lỗi thiếu tiện ích mở rộng MySQLi như một phần của Dịch vụ quản lý máy chủ của chúng tôi
Hôm nay, hãy phân tích lỗi và xem các Kỹ sư hỗ trợ của chúng tôi khắc phục lỗi đó cho khách hàng như thế nào
Phần mở rộng MySQLi thiếu lỗi phpMyAdmin là gì?
Trước khi tìm hiểu sâu hơn về lỗi, trước tiên, hãy hiểu tiện ích mở rộng MySQLi bị thiếu trong phpMyAdmin là gì?
Các hàm MySQLi cho phép chúng tôi truy cập các máy chủ cơ sở dữ liệu MySQL và đó là trình điều khiển cơ sở dữ liệu quan hệ được sử dụng trong ngôn ngữ kịch bản PHP. Nếu có phần mở rộng MySQLi, chúng tôi sẽ gặp lỗi này
Một lỗi mẫu tại PHPMyAdmin sẽ giống như
Làm cách nào chúng tôi sửa tiện ích mở rộng MySQLi bị thiếu phpMyAdmin?
Cho đến nay, chúng ta đã thấy tiện ích mở rộng MySQLi bị thiếu trong lỗi phpMyAdmin là gì. Giải pháp cho lỗi này là bật tiện ích mở rộng MySQLi trên máy chủ
Hãy xem các cách khác nhau mà Kỹ sư hỗ trợ của chúng tôi khắc phục lỗi này cho khách hàng bằng cách bật tiện ích mở rộng MySQLi
Bật tiện ích mở rộng MySQLi trong php. tập tin ini
Trước tiên, chúng tôi xác minh rằng tiện ích mở rộng trong các mô-đun PHP đã được bật hay chưa. Đối với điều này, chúng tôi chạy lệnh này
php -m | grep -i mysqliHãy để chúng tôi thảo luận về cách Kỹ sư hỗ trợ của chúng tôi kích hoạt tiện ích mở rộng MySQLi từ tệp php. ini trong Linux và Windows
Trong Linux
1. Đầu tiên, chúng tôi mở php. tập tin ini (/etc/php/php.ini)
2. Sau đó, chúng tôi tìm kiếm dòng bình luận
#extension=php_mysqli.so3. Và, chúng tôi bỏ ghi chú dòng bằng cách xóa thẻ bắt đầu bằng # ngay từ đầu, chẳng hạn như
extension=php_mysqli.soCuối cùng, chúng tôi khởi động lại máy chủ web
Trong cửa sổ
1. Chúng tôi mở php. tập tin ini
2 Sau đó, chúng tôi tìm kiếm dòng nhận xét
#extension=php_mysqli.dll3. Và, chúng tôi bỏ ghi chú dòng bằng cách xóa thẻ bắt đầu bằng # ngay từ đầu, chẳng hạn như
extension=php_mysqli.dllDo đó, cho phép nó giải quyết lỗi
Kích hoạt MySQLi bằng EasyApache4
Cách đơn giản nhất để kích hoạt MySQLi là từ EasyApache. Hãy để chúng tôi thảo luận về cách Kỹ sư hỗ trợ của chúng tôi kích hoạt nó từ EasyApache
1. Đầu tiên, chúng tôi đăng nhập vào WHM với quyền root
2. Sau đó, chúng tôi tìm kiếm “EasyApache4” hoặc vào Phần mềm > EasyApache4
3. Ở trên cùng, hãy tìm “Gói đã cài đặt hiện tại” và chúng tôi nhấp vào nút “Tùy chỉnh”
4. Sau đó, trên phần bảng điều khiển bên trái, chúng tôi nhấp vào “Tiện ích mở rộng PHP”
5. Sau đó, chúng tôi tìm kiếm mysqlnd
6. Chúng tôi thấy một cái gì đó giống như “php70-php-mysqlnd” (tùy thuộc vào phiên bản PHP). Chúng tôi kích hoạt nó
7. Nhấp vào Xem lại và nhấp vào nút Cung cấp
Kích hoạt tiện ích mở rộng MySQLi trên máy chủ web mà không cần bất kỳ bảng điều khiển nào
Các kỹ sư hỗ trợ của chúng tôi cũng cung cấp giải pháp cho những khách hàng không sử dụng bất kỳ bảng nào. Để bật tiện ích mở rộng MySQLi trong máy chủ không có bảng điều khiển. Chúng tôi chạy lệnh dưới đây, chẳng hạn như
# ./configure --with-mysql=/usr --with-mysqli=/usr/bin/mysql_configSau đó, chúng tôi kiểm tra tiện ích mở rộng MySQLi được bật trên máy chủ
Phần kết luận
Tóm lại Lỗi chủ yếu là do thiếu MySQLi extension trong php. tập tin ini. Hôm nay, chúng tôi đã xem cách Kỹ sư hỗ trợ của chúng tôi giải quyết lỗi thiếu tiện ích MySQLi trên PHPMyAdmin và các cách khác nhau để bật tiện ích MySQLi