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

时间:2018-04-11 20:43:39

标签: php pdo

我想在Kubuntu 16.04上尝试最新版本的PHP,从那时起,我似乎无法在mysql中使用pdo。

当我启动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。

我真的不知道还有什么可以尝试的。在此先感谢您的帮助。

2 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:0)

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