在使用PHP 7.2.4的Ubuntu 16.04上缺少PDO驱动程序

5
我希望您能够在Kubuntu 16.04上尝试最新版本的PHP,但自那时起,似乎我无法使用pdo与mysql。

当我启动php时,出现以下警告:

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20170718/pdo_mysql (/usr/lib/php/20170718/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0

我正在运行。
PHP 7.2.4-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr  5 2018 08:53:57) ( NTS )

我尝试使用这个解决方案:https://askubuntu.com/a/824505,但我仍然遇到同样的问题。
不过,在phpinfo中,找到了一个PDO(mysql)的驱动程序。 当我检查php -m时,发现PDO和pdo_mysql都被找到了。
/usr/lib/php/20170718/usr/lib/php/20151012文件夹中,有一个pdo_mysql.so。
我真的不知道还能尝试什么。提前感谢你的帮助。

1
检查启用 pdo.so 的那行是否在启用 pdo_mysql.so 的那行上方。 - Nico Haase
我在php.ini中添加了pdo(extension=pdo),但是没有任何变化。 - Glioburd
你是否使用任何可能首先被解析的包含配置文件? - Nico Haase
我不知道有什么问题,但我也不知道如何保证。 - Glioburd
18.04 LTS也有同样的问题。 - Jay M
我认为这与 https://askubuntu.com/questions/999999/php-with-pdo-mysql-in-ubuntu-16-04 有关,那里提供了解决方案。 - Jay M
2个回答

2
sudo apt-get update
sudo apt-get install php7.2-pdo

3
你好,当我运行时它尝试安装php7.2-common。由于它已经安装了,所以什么也没做。 - Glioburd
我今天升级到了Ubuntu 18.04 LTS,但遇到了同样的问题。我尝试安装了很多与PHP数据库相关的扩展,但没有符合PDO要求的。 - Adambean

1
在我的情况下,我从Ubuntu 16.04升级到18.04,因此从PHP 7.0升级到了7.2。
结果发现PHP 7.0仍然(部分)安装,并且是Apache的活动PHP-FPM处理程序。
我使用的命令来解决这个问题:(作为root或通过sudo)
service php7.0-fpm stop
apt-get remove php7.0*
service php7.2-fpm restart
service apache2 restart

请确保将您所做的任何INI更改从/etc/php/7.0复制到/etc/php/7.2


我从16.04升级到18.04,但没有发现这种情况,问题仍然存在。 - Jay M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接