pdo_mysql bị xóa khi cập nhật lên 16.04


9

Gần đây tôi đã cập nhật lên 16.04 LTS. Và nó đã cập nhật php của tôi lên 7.0. Bây giờ nó một số cách loại bỏ pdo_mysql. Tôi cần phần mở rộng này để phát triển trang web magento. Trong phpinfo, tôi tìm thấy

hỗ trợ pdo: trình điều khiển pdo được kích hoạt: không có giá trị

Tôi đã googled rất nhiều, và tìm thấy những giải pháp:

  1. Cài đặt php-mysql (Nó đã là phiên bản mới nhất)
  2. Cài đặt php7.0-mysql (Nó đã là phiên bản mới nhất)
  3. Đã thay đổi sau trong php.ini (/etc/php/7.0/apache2/php.ini): tiện ích mở rộng pdo.so, pdo_mysql.so, mysqli.so. và cũng đã thử tương tự bằng cách đưa ra các đường dẫn chính xác của họ (apache được khởi động lại sau khi thực hiện thay đổi)
  4. Thậm chí đã thử cài đặt pdo_mysql bằng pecl.

Không có phương pháp nào ở trên là hữu ích, tôi đã phá vỡ điều này trong gần 2 ngày nay. Trợ giúp sẽ được đánh giá cao.

Đầu ra của php -r 'phpinfo ();' | grep -i pdo:

/etc/php/7.0/cli/conf.d/10-pdo.ini,
PDO
PDO support => enabled
PDO drivers =>  

đầu ra của / usr / sbin / phpquery -v 7.0 -M

mysqlnd
sysvmsg
sockets
gd
mcrypt
phar
xsl
xmlreader
shmop
sysvsem
mysqli
xml
tokenizer
iconv
pdo
pdo_mysql
gettext
simplexml
xmlwriter
opcache
posix
sysvshm
ftp
dom
json
readline
calendar
fileinfo
ctype
wddx
exif

đầu ra của dpkg -l php * mysql

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  php-mysql      1:7.0+35ubun all          MySQL module for PHP [default]
un  php-pdo-mysql  <none>       <none>       (no description available)
rc  php5-mysql     5.6.11+dfsg- amd64        MySQL module for php5
ii  php7.0-mysql   7.0.4-7ubunt amd64        MySQL module for PHP
un  php7.0-pdo-mys <none>       <none>       (no description available)

Xin vui lòng gửi đầu ra của php -r 'phpinfo();' | grep -i pdo. Và bạn không nên kích hoạt các tiện ích mở rộng bằng tay mà hãy sử dụng phpenmodthay thế. Hay đúng hơn là đăng toàn bộ đầu ra của phpinfo () ở đâu đó từ cùng một máy chủ ảo nơi bạn chạy magento. Tôi nghi ngờ bạn có thể đang làm gì đó với php.ini mặc định của mình ...
oerdnj

Xin lỗi vì trả lời chậm. Đây là đầu ra: /etc/php/7.0/cli/conf.d/10-pdo.ini, PDO hỗ trợ PDO => kích hoạt trình điều khiển PDO =>
Rakshith S Kumar

Đã thêm đầu ra cho câu hỏi ban đầu là tốt.
Rakshith S Kumar

Và đầu ra của: /usr/sbin/phpquery -v 7.0 -Mdpkg -l php*mysql?
oerdnj

Đã thêm cả hai đầu ra.
Rakshith S Kumar

Câu trả lời:


8

Ở giai đoạn này, tôi chỉ đơn giản khuyên bạn nên "tắt và bật lại" bằng cách thực hiện:

sudo apt-get purge php-common php5-common

theo dõi bởi

sudo rm -r /etc/php

Và sau đó cài đặt lại các mô-đun PHP 7.0 và mysql:

sudo apt-get install libapache2-mod-php php-mysql

Bạn cũng có thể thử chỉ cần thanh lọc và cài đặt lại các mô-đun mysql, trước tiên gỡ bỏ gói:

sudo apt-get purge php7.0-mysql

Và cài đặt lại chúng:

sudo apt-get install php-mysql

Trong cả hai trường hợp, điều quan trọng là sử dụng apt-get purgethay vì apt-get removexóa bất kỳ tệp cấu hình và trạng thái gói hiện có nào.

Cách ít phá hủy nhất sẽ là cố gắng kích hoạt lại các mô-đun mysql bằng phpenmodlệnh:

sudo phpenmod mysqlnd pdo_mysql

Thật khó để cho bạn lời khuyên chính xác nếu chúng tôi không biết những gì bạn đã tạo ra trên hệ thống của mình.


Tôi đã làm theo các bước thanh trừng, xóa thư mục, cài đặt lại và cũng thanh trừng php7.0-mysql và cài đặt php-mysql. Bây giờ apache tự dừng hoạt động, nó nói không thể xử lý các yêu cầu. :(
Rakshith S Kumar

1
Xin lỗi, tôi đã phải cài đặt php7.0-xml và mọi thứ đều ổn. Cảm ơn rất nhiều.
Rakshith S Kumar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.