pdo_mysql dihapus saat memperbarui ke 16.04

9

Saya baru saja memperbarui ke 16,04 LTS. Dan itu memperbarui php saya ke 7.0. Sekarang beberapa cara menghapus pdo_mysql. Saya perlu ekstensi ini untuk mengembangkan situs web magento. Di phpinfo, saya menemukan

dukungan pdo: driver pdo diaktifkan: tidak ada nilai

Saya sudah banyak mencari di Google, dan menemukan solusi ini:

  1. Instal php-mysql (Itu sudah versi terbaru)
  2. Instal php7.0-mysql (Itu sudah versi terbaru)
  3. Berubah mengikuti dalam php.ini (/etc/php/7.0/apache2/php.ini): ekstensi yang diaktifkan pdo.so, pdo_mysql.so, mysqli.so. dan juga mencoba hal yang sama dengan memberikan path yang tepat (restart apache setelah melakukan perubahan)
  4. Bahkan mencoba menginstal pdo_mysql menggunakan pecl.

Tak satu pun dari metode di atas yang membantu, saya telah mematahkan kepala saya pada ini selama hampir 2 hari sekarang. Bantuan akan sangat dihargai.

Output dari php -r 'phpinfo ();' | grep -i pdo:

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

output dari / 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

output dari 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)
Rakshith S Kumar
sumber
Silakan kirim output dari php -r 'phpinfo();' | grep -i pdo. Dan Anda seharusnya tidak mengaktifkan ekstensi dengan tangan, tetapi gunakan phpenmodsaja. Atau lebih tepatnya memposting output penuh dari phpinfo () di suatu tempat dari server virtual yang sama di mana Anda menjalankan magento. Saya curiga Anda mungkin melakukan sesuatu pada php.ini default Anda ...
oerdnj
Maaf untuk keterlambatan jawaban saya. Berikut ini hasilnya: /etc/php/7.0/cli/conf.d/10-pdo.ini, dukungan PDO PDO => driver PDO yang diaktifkan =>
Rakshith S Kumar
Menambahkan output ke pertanyaan awal juga.
Rakshith S Kumar
Dan output dari: /usr/sbin/phpquery -v 7.0 -Mdan dpkg -l php*mysql?
oerdnj
Menambahkan kedua output.
Rakshith S Kumar

Jawaban:

8

Pada tahap ini saya hanya akan merekomendasikan "mematikannya dan lagi" dengan melakukan:

sudo apt-get purge php-common php5-common

diikuti oleh

sudo rm -r /etc/php

Dan kemudian instal ulang modul PHP 7.0 dan mysql:

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

Anda juga dapat mencoba hanya membersihkan dan menginstal ulang modul mysql, pertama-tama menghapus paket:

sudo apt-get purge php7.0-mysql

Dan menginstalnya lagi:

sudo apt-get install php-mysql

Dalam kedua kasus ini, penting untuk digunakan apt-get purgedaripada apt-get removemenghapus file konfigurasi dan status paket yang ada.

Cara paling tidak merusak akan mencoba untuk mengaktifkan kembali modul mysql menggunakan phpenmodperintah:

sudo phpenmod mysqlnd pdo_mysql

Sulit memberi Anda nasihat yang benar jika kami tidak tahu kekacauan apa yang Anda buat di sistem Anda.

oerdnj
sumber
Saya mengikuti langkah-langkah membersihkan, menghapus direktori, menginstal ulang dan juga membersihkan php7.0-mysql dan menginstal php-mysql. Sekarang apache sendiri berhenti berfungsi, katanya tidak dapat menangani permintaan. :(
Rakshith S Kumar
1
maaf saya salah, saya harus menginstal php7.0-xml, dan semuanya baik-baik saja. Terima kasih banyak.
Rakshith S Kumar