pdo_mysql在更新到16.04时被删除


9

我最近更新为16.04 LTS。并将我的php更新为7.0。现在它如何删除pdo_mysql。我需要此扩展程序来开发magento网站。在phpinfo中,我发现

pdo支持:已启用pdo驱动程序:无值

我在Google上搜索了很多,并找到了以下解决方案:

  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。

以上方法均无济于事,近两天来我一直在努力。帮助将不胜感激。

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
做些

回复晚了,请原谅。输出为:/etc/php/7.0/cli/conf.d/10-pdo.ini,PDO PDO支持=>启用的PDO驱动程序=>
Rakshith S Kumar,2016年

也将输出添加到初始问题。
Rakshith S Kumar

并输出:/usr/sbin/phpquery -v 7.0 -Mdpkg -l php*mysql
oerdnj '16

添加了两个输出。
Rakshith S Kumar'5

Answers:


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

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


我按照清除,删除目录,重新安装的步骤进行操作,还清除了php7.0-mysql并安装了php-mysql。现在,apache本身停止工作,它说无法处理请求。:(
Rakshith S Kumar

1
不好意思,我不得不安装php7.0-xml,一切都很好。非常感谢。
Rakshith S Kumar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.