更新到 16.04 时删除了 pdo_mysql

Rak*_*mar 9 mysql php apache2 drivers 16.04

我最近更新到 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. 甚至尝试使用 pecl 安装 pdo_mysql。

上述方法均无济于事,我已经对此感到困惑近 2 天了。帮助将不胜感激。

php -r 'phpinfo();' 的输出 | grep -i pdo :

/etc/php/7.0/cli/conf.d/10-pdo.ini,
PDO
PDO support => enabled
PDO drivers =>  
Run Code Online (Sandbox Code Playgroud)

/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
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

oer*_*dnj 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删除任何现有的配置文件和包状态。

破坏性最小的方法是尝试使用以下phpenmod命令重新启用 mysql 模块:

sudo phpenmod mysqlnd pdo_mysql

如果我们不知道你在你的系统上造成了什么混乱,就很难给你正确的建议。