pdo_mysql удалено при обновлении до 16.04

9

Я недавно обновился до 16.04 LTS. И это обновило мой php до 7.0. Теперь он каким-то образом убрал pdo_mysql. Мне нужно это расширение для разработки веб-сайта magento. В phpinfo я нахожу

Поддержка pdo: включены драйверы pdo: нет значений

Я много гуглил и нашел следующие решения:

  1. Установите php-mysql (это была уже самая новая версия)
  2. Установите php7.0-mysql (это была уже самая новая версия)
  3. Изменено следующее в php.ini (/etc/php/7.0/apache2/php.ini): включены расширения pdo.so, pdo_mysql.so, mysqli.so. и тоже попробовал то же самое, указав их точные пути (перезапустил apache после внесения изменений)
  4. Даже пытался установить pdo_mysql с помощью pecl.

Ни один из вышеперечисленных методов не помог, я ломал голову над этим уже почти 2 дня. Помощь будет высоко ценится.

Вывод php -r 'phpinfo ();' | 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

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

вывод 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)
Ракшит С Кумар
источник
Пожалуйста, оставьте вывод php -r 'phpinfo();' | grep -i pdo. И вы не должны включать расширения вручную, а использовать phpenmodвместо этого. Или, скорее, опубликовать полный вывод phpinfo () где-то с того же виртуального сервера, на котором вы запускаете magento. Я подозреваю, что вы делаете что-то с вашим php.ini по умолчанию ...
oerdnj
Извините за мой поздний ответ. Вот вывод: /etc/php/7.0/cli/conf.d/10-pdo.ini, поддержка PDO PDO => включены драйверы PDO =>
Rakshith S Kumar
Добавил вывод в первоначальный вопрос.
Ракшит С Кумар
И вывод: /usr/sbin/phpquery -v 7.0 -Mа dpkg -l php*mysql?
oerdnj
Добавлены оба выхода.
Ракшит С Кумар

Ответы:

8

На этом этапе я бы просто порекомендовал «выключить и снова включить», выполнив:

sudo apt-get purge php-common php5-common

с последующим

sudo rm -r /etc/php

А затем переустановите модули PHP 7.0 и mysql:

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

Вы также можете попробовать просто очистить и переустановить модули mysql, сначала удалив пакет:

sudo apt-get purge php7.0-mysql

И установка их снова:

sudo apt-get install php-mysql

В обоих случаях важно использовать apt-get purgeвместо того, apt-get removeчтобы удалять любые существующие файлы конфигурации и состояния пакетов.

Наименее разрушительным способом было бы попытаться повторно включить модули mysql с помощью phpenmodкоманды:

sudo phpenmod mysqlnd pdo_mysql

Трудно дать вам правильный совет, если мы не знаем, какой хаос вы создали в своей системе.

oerdnj
источник
Я выполнил шаги по очистке, удалению каталогов, переустановке, а также очистил php7.0-mysql и установил php-mysql. Теперь сам Apache перестал работать, он говорит, что не может обрабатывать запросы. :(
Ракшит С Кумар
1
извини, мой плохой, мне пришлось установить php7.0-xml, и все было хорошо. Большое спасибо.
Ракшит С Кумар