pdo_mysql, 16.04 sürümüne güncellenirken kaldırıldı


9

Kısa süre önce 16.04 LTS'ye güncelledim. Ve benim php 7.0 güncelledi. Şimdi bazı nasıl pdo_mysql kaldırıldı. Magento web sitesi geliştirmek için bu uzantıya ihtiyacım var. Phpinfo'da buluyorum

pdo desteği: etkin pdo sürücüleri: değer yok

Çok fazla şey araştırdım ve şu çözümleri buldum:

  1. Php-mysql yükleyin (Zaten en yeni sürümdü)
  2. Install php7.0-mysql (Zaten en yeni sürümdü)
  3. Aşağıdaki php.ini (/etc/php/7.0/apache2/php.ini) içinde değiştirildi: pdo.so, pdo_mysql.so, mysqli.so uzantıları etkinleştirildi. ve tam yollarını vererek de aynı şeyi denediler (değişiklik yaptıktan sonra apache yeniden başlatıldı)
  4. Hatta pecl kullanarak pdo_mysql yüklemeyi denedi.

Yukarıdaki yöntemlerden hiçbiri yardımcı olmadı, neredeyse 2 gündür bu konuda başımı kırıyorum. Yardım çok takdir edilecektir.

Php -r 'phpinfo ();' çıktısı | grep -i pdo:

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

/ usr / sbin / phpquery -v 7.0 -M çıktısı

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

çıktı 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)

Lütfen çıktısını gönderin php -r 'phpinfo();' | grep -i pdo. Uzantıları el ile etkinleştirmemeli, phpenmodbunun yerine kullanmalısınız . Ya da magentoyu çalıştırdığınız aynı sanal sunucudan bir yere phpinfo () çıktısını yazabilirsiniz. Varsayılan php.ini bir şey yapıyor olabilir şüpheli ...
oerdnj

Geç yanıtım için özür dilerim. İşte çıktı: /etc/php/7.0/cli/conf.d/10-pdo.ini, PDO PDO desteği => etkinleştirilmiş PDO sürücüleri =>
Rakshith S Kumar

Çıktı ilk soruya da eklendi.
Rakshith S Kumar

Ve çıktı: /usr/sbin/phpquery -v 7.0 -Mve dpkg -l php*mysql?
oerdnj

Her iki çıkışı da ekledi.
Rakshith S Kumar

Yanıtlar:


8

Bu aşamada sadece "tekrar açıp kapatmayı" öneririm:

sudo apt-get purge php-common php5-common

bunu takiben

sudo rm -r /etc/php

Ve sonra PHP 7.0 ve mysql modüllerini yeniden yükleyin:

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

Ayrıca, önce paketi kaldırarak mysql modüllerini temizlemeyi ve yeniden yüklemeyi de deneyebilirsiniz:

sudo apt-get purge php7.0-mysql

Ve onları tekrar kurmak:

sudo apt-get install php-mysql

Her iki durumda da mevcut yapılandırma dosyalarını ve paket durumlarını silmek apt-get purgeyerine kullanmak önemlidir apt-get remove.

En az yıkıcı yol mysql modüllerini şu phpenmodkomutu kullanarak yeniden etkinleştirmeye çalışmaktır :

sudo phpenmod mysqlnd pdo_mysql

Sisteminizde hangi kargaşayı yarattığınızı bilmiyorsak size doğru tavsiyelerde bulunmak zordur.


Temizleme, dizin kaldırma, yeniden yükleme ve ayrıca php7.0-mysql ve yüklü php-mysql adımlarını izledi. Şimdi apache'nin kendisi çalışmayı durdurdu, istekleri işleyemediğini söylüyor. :(
Rakshith S Kumar

1
üzgünüm benim kötü, php7.0-xml yüklemek zorunda kaldı, ve her şey iyiydi. Çok teşekkürler.
Rakshith S Kumar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.