it-swarm-vi.tech

Php - của bạn PHP cài đặt dường như thiếu phần mở rộng MySQL được yêu cầu bởi WordPress

Tôi đã gặp một số vấn đề với lỗi sau:

"Cài đặt PHP của bạn dường như thiếu phần mở rộng MySQL được WordPress yêu cầu."

Tôi đã tìm kiếm khoảng một tuần nay nhưng dường như không thể tìm ra cái này.

Tôi sử dụng NAS với kết nối telnet . Tôi đã cài đặt FFP 0.7

Php.ini của tôi nằm trong: ffp/etc/php.ini và tôi đã bỏ qua tất cả mọi thứ tôi nghĩ sẽ được sử dụng.

;If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
extension=msql.dll
;
; ... or under UNIX:
;
extension=msql.so
;
; ... or with a path:
;
extension=/ffp/lib/extensions/no-debug-non-zts-20100525/mysql.so
;


extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so
extension=pdo_mysql.so

Điều nổi bật là trong thông tin php tôi thấy mô-đun MYSQLI được kích hoạt nhưng không phải MYSQL.

Mysql đang hoạt động, php đang hoạt động, lighttpd đang hoạt động. (Tôi có phpmyadmin làm việc). 

Đó là trên Zyxel NSA 310.

Các bạn có biết một giải pháp?

Và tôi có thể lẻn vào một câu hỏi khác:

Khi Mysqld được khởi động, nó sẽ tạo một lối tắt từ gốc của tôi đến: ffp/opt/mysql .. Mỗi khi tôi khởi động lại NAS thì phím tắt sẽ bị xóa. Có ai có thể biết một mẹo cho việc này?

Cảm ơn bạn

Đó là vào: http://www.voluntisingnews.com/

25
Roald Van Der Tempel

Api php mysql không được dùng nữa. Đó là kaput --- sẽ biến mất - không được sử dụng, finito.

Nếu bạn có phiên bản hiện đại của PHP (> 5.6) thì Wordpress sẽ tự động chuyển sang sử dụng mysqli. Đó nên là nỗ lực đầu tiên của bạn.

Nếu bạn không thể cập nhật php của mình, thay vì cố gắng phục hồi thứ gì đó mà php không còn hỗ trợ, chỉ cần vá wordpress của bạn: http://wordpress.org/plugins/mysqli/ /

22
gview

cuối cùng tôi đã tìm thấy một giải pháp Trước tiên, hãy chắc chắn rằng máy chủ MySQL đang chạy. Nhập lệnh sau tại Dấu nhắc Shell: # /etc/init.d/mysql trạng thái

Nếu MySQL không chạy, hãy nhập: # /etc/init.d/mysql bắt đầu

Nếu MySQL chưa được cài đặt, hãy gõ lệnh sau để cài đặt máy chủ MySQL: # apt-get cài đặt máy chủ mysql

Đảm bảo mô-đun MySQL cho php5 được cài đặt: # dpkg - danh sách | grep php5-mysql

Để cài đặt mô-đun php5-mysql, hãy nhập: # apt-get cài đặt php5-mysql

Tiếp theo, khởi động lại máy chủ web Apache2: # /etc/init.d/Apache2 khởi động lại

35
marcboffin

Thư viện MySQL này làm việc cho tôi:

Sudo apt-get install php5-mysqlnd-ms
9
ashishyadaveee11

Kiểm tra

extension_dir =

loại bỏ nó nếu nó ở đó Điều đó sẽ khắc phục vấn đề.

7
pravchuk

Nếu mọi người đang sử dụng lưu trữ Linux được chia sẻ với cPanel (Godaddy, câu lạc bộ đại lý, Hostgator hoặc bất kỳ Hosting chung nào), hãy thử cách sau:

Trong tab Phần mềm và Dịch vụ -> Chọn PHP Phiên bản -> PHP Bộ chọn | Mức độ  

Đánh dấu vào tất cả các phần mở rộng liên quan đến MySQL, lưu nó và bạn đã hoàn thành. Vui lòng kiểm tra hình ảnh đính kèm.

Image showing the extensions in cPanel

4
subhash Porje

Lỗi này được tạo bởi tệp lõi WP /wp-includes/load.php và tên hàm là wp_check_php_mysql_versions().

Các phiên bản cũ hơn của WP không hỗ trợ MySqli. Nhưng các phiên bản WP mới nhất hỗ trợ cả hai phần mở rộng MySql và MySqli mà không làm phiền các phiên bản PHP đã cài đặt .

Đã giải quyết vấn đề của tôi 100%

Trong trường hợp của tôi, tôi chỉ cần cập nhật các tệp lõi Wordpress và giải quyết vấn đề :)

4
Reza Mamun

Nếu bạn đã cài đặt plugin Wordfence, tôi thấy nhận xét về các dòng suPHP_ConfigPath trong tệp .htaccess đã đưa trang web trở lại hoạt động:

# Wordfence WAF
#<IfModule mod_suphp.c>
#   suPHP_ConfigPath '/home/a1614947/public_html'
#</IfModule>

Tôi cũng đã báo cáo điều này với Wordfence.

4
Dan Snik

Tôi đang sử dụng Fedora 25

Sudo dnf search php | grep mysql

php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php-pear-MDB2-Driver-mysqli.noarch : MySQL Improved MDB2 driver mysqli

Sudo dnf install php-mysqlnd.x86_64
3
Ng Zhong Qin

Khi bạn nâng cấp phiên bản php của mình, hãy đảm bảo, Apache2 sẽ theo sau . Bạn có thể tạo tệp phpinfo () có thể cho thấy Apache vẫn đang sử dụng phiên bản php cũ.

Trong trường hợp này, bạn nên sử dụng các lệnh a2dismod php-old-version và a2enmon php-mod-version

Ví dụ:

trong Ubuntu, bạn lấy phiên bản cũ từ/etc/Apache2/mods kích hoạt hoặc từ phiên bản được hiển thị bởi tệp phpinfo và bạn lấy phiên bản mới từ/etc/Apache2/mods có sẵn

> Sudo a2dismod php5.6
> Sudo a2enmod php7.1
> Sudo service Apache2 restart
3
amine

Có thể đó là lý do Api php mysql không được chấp nhận . Nếu bạn sử dụng bên dưới <PHP5.5 chỉ cần cập nhật trong máy chủ của bạn lên 5.6 trở lên. 

3
Raj008

Trong trường hợp của tôi, sử dụng bộ chọn CPanel PHP và chọn mysqli và mysqlnd hoạt động . Đảm bảo lưu và kiểm tra lại một lần

2
Francis DSouza

Tôi gặp vấn đề tương tự như đã đề cập "Cài đặt PHP của bạn dường như thiếu phần mở rộng MySQL được WordPress yêu cầu" trong lưu trữ bán lại. 

Tôi đã xem qua chủ đề này và được biết rằng phiên bản php phải lớn hơn> 5.6 để wordpress sẽ tự động được chuyển đổi thành mysqli

Sau đó đăng nhập vào cpanel của tôi để tìm kiếm php trong cpanel để kiểm tra phiên bản, may mắn thay có thể thấy rằng phiên bản php của tôi là 5.2 và thay đổi thành 5.6 bằng cách đảm bảo mysqli được đánh dấu trong cửa sổ tùy chọn và lưu nó hoạt động tốt hiện nay.

1
Mallesh.N

Chỉ cần cài đặt apt-get cài đặt php5-mysqlnd Khởi động lại Apache dịch vụ Apache2 khởi động lại

1
user145132

Khi tôi nâng cấp trang web của mình PHP từ phiên bản 5.6 lên 7.2, tôi đã gặp phải sự cố này. Cài đặt PHP của bạn dường như thiếu phần mở rộng MySQL được yêu cầu bởi WordPress. Hóa ra phần mở rộng mysql không còn được hỗ trợ trong PHP phiên bản 7.2. Bây giờ nó đang sử dụng phần mở rộng mysqli. Tôi đang sử dụng phiên bản cũ của WordPress vẫn đang sử dụng tiện ích mở rộng mysql, đó là lý do tại sao vấn đề tồn tại. Vì vậy, những gì tôi đã làm là nâng cấp WordPress thành cốt lõi. Điều này giải quyết vấn đề.

Đây là các bước tôi đã làm khi nâng cấp WordPress theo cách thủ công.

  1. Đầu tiên tôi tạo một bản sao lưu đầy đủ của trang web của tôi. Điều này rất quan trọng trong trường hợp sai lầm.
  2. Tôi tải xuống tệp WordPress Zip mới nhất từ ​​wordpress.org.
  3. Tôi giải nén tập tin vào một thư mục cục bộ của máy tính của tôi.
  4. Tôi đã đi đến thư mục gốc của trang web của mình và xóa các thư mục ‘wp-bao gồm các thư mục và‘ wp-admin của bạn. Tôi đã sử dụng kết nối sFTP bằng phần mềm Filezilla.
  5. Tôi đã tải lên các thư mục wp-gồm và wp-admin mới từ phiên bản mới của WordPress Tôi đã giải nén vào thư mục gốc trang web của mình và thay thế các thư mục tôi vừa xóa.
  6. Tôi không xóa thư mục wp-content hoặc bất kỳ tệp nào trong thư mục đó. Tôi vừa sao chép các tệp từ thư mục nội dung wp trong phiên bản mới của WordPress vào thư mục nội dung wp hiện có của tôi. Tất cả các tệp hiện có cùng tên đã được ghi đè.
  7. Tôi đã sao chép tất cả các tệp từ thư mục gốc (’/,) của phiên bản mới WordPress mà tôi đã giải nén vào thư mục gốc trang web của mình (hoặc thư mục gốc của cài đặt WordPress) của bạn. Các tệp hiện có đã bị ghi đè và các tệp mới đã được sao chép qua. Tệp wp-config.php không bị ảnh hưởng vì WordPress chưa bao giờ được phân phối với tệp wp-config.php.
  8. Tôi so sánh wp-config-sample.php được phân phối với WordPress nhưng không tìm thấy gì để thay đổi nên tôi chỉ sử dụng cái cũ.
  9. Tôi đã xóa bộ nhớ cache của trình duyệt để đảm bảo tôi có thể thấy tất cả các thay đổi.
  10. Tôi đã kiểm tra trang web và không có lỗi bây giờ. Việc nâng cấp đã hoàn thành.
1
Jason Torremocha

Hãy chắc chắn rằng bạn đánh dấu Mysqli và mysqlnd như trong ảnh chụp màn hình  enter image description here

1
csandreas1

Vấn đề này là do thiếu cơ sở dữ liệu. Nếu đó là một bản cài đặt mới, bạn cần tạo thủ công và gán cho người dùng các đặc quyền. 

Vui lòng kiểm tra wp-config.php cho bất kỳ cấu hình xấu nào và đảm bảo rằng cơ sở dữ liệu và bảng không bị thiếu hoặc bị hỏng.

1
antony_sebastian

2019-08-28

Sau gần bảy năm, điều này tiếp tục nhận được những câu trả lời khác nhau. † Nhiều người giống nhau - nhưng không giống nhau - với những gì làm việc cho tôi. Đây là những gì làm việc cho tôi (Máy chủ Ubuntu).

Di chuyển một trang web sang một máy chủ mới, quên cài đặt PHP mô-đun/tiện ích mở rộng MySQL. Tôi chạy nhanh

apt-get install php-mysql

và sau đó

apachectl restart

Bada bing. Không có php5, php7; chỉ đơn giản là php-mysql.


Phơi bày một trong những nhược điểm của StackExchange: Một câu trả lời có thể rất tuyệt vời trong thời điểm này và nhận được một số tiền thưởng lớn. Thật không may khi công nghệ đằng sau câu trả lời lâu dài (dự án rẽ nhánh và thay đổi trọng tâm, teo bổ trợ, thay đổi mục tiêu), đôi khi câu trả lời hoàn hảo đó đơn giản là không còn hiệu quả nữa. Nhưng nó có tất cả các upvote, vì vậy đó là những gì chúng ta thấy đầu tiên. Không chắc chắn giải pháp là gì - nếu chúng ta thậm chí cần một giải pháp; nó không phải là một vấn đề cực kỳ phổ biến.

0
zedmelon

Tôi vừa gỡ bỏ php ini tùy chỉnh mà tôi hoàn toàn không sử dụng. Vấn đề đã biến mất, trang web đang hoạt động tốt.

0
Imran Hossain

Tôi đã giải quyết vấn đề chỉ bằng cách thêm mã sau vào tệp .htaccess. Tôi hy vọng điều này sẽ làm việc cho các bạn cũng.

Bước 1: Thay đổi phiên bản PHP tạo thành máy chủ.

Bước 2: Thêm mã sau vào tệp .htaccess của bạn theo phiên bản PHP (Được chọn từ máy chủ).

Để chuyển sang PHP 4.4 :

AddHandler application/x-httpd-php4 .php

Để chuyển sang PHP 5.0 :

AddHandler application/x-httpd-php5 .php

Để chuyển sang PHP 5.1 :

AddHandler application/x-httpd-php51 .php

Để chuyển sang PHP 5.2 :

AddHandler application/x-httpd-php52 .php

Để chuyển sang PHP 5.3 :

AddHandler application/x-httpd-php53 .php

Để chuyển sang PHP 5.4 :

AddHandler application/x-httpd-php54 .php

Để chuyển sang PHP 5.5 :

AddHandler application/x-httpd-php55 .php

Để chuyển sang PHP 5.6 :

AddHandler application/x-httpd-php56 .php

Để chuyển sang PHP 7 :

AddHandler application/x-httpd-php7 .php

Để chuyển sang PHP 7.1 :

AddHandler application/x-httpd-php71 .php 
0
Mr. HK

Đối với tôi (ubfox 16.04), người chiến thắng là:

Sudo apt install php7.0-mysql
0
veggiebenz

Trên Oracle Linux 7.x đang chạy PHP phiên bản 7.3.x, bạn cần chạy Sudo yum install php-mysqlnd để cài đặt phần mở rộng MySQL bị thiếu cho PHP.

Nhớ khởi động lại PHP và hoặc máy chủ của bạn để các thay đổi có hiệu lực.

0
nyedidikeke

Đối với php 5.6 Sudo apt-get install php5.6-mysqlnd-ms và khởi động lại Apache của bạn

/etc/init.d/Apache2 restart
0
Pranoy Sarkar

Nguồn gốc của tin nhắn này không liên quan đến giải pháp trong trường hợp của tôi.

Địa chỉ IP của máy chủ của tôi đã thay đổi và tôi đã không thay đổi chỉ thị <VirtualHost> trong httpd.conf của máy chủ Apache.

Khi tôi thay đổi nó thành địa chỉ IP chính xác, tin nhắn biến mất và Wordpress hoạt động trở lại.

0
Tinus Tate