无法加载动态库“pdo_mysql.so”,因为将 php 版本升级到 7.4

问题描述

我制作了一些 PHP 应用程序并使用 PDO。 一切都很好,直到我删除 --purge PHP 7.2 并安装 PHP 7.4。

程序正在运行,但显示“找不到驱动程序”。

像往常一样安装所有模块,在 Ubuntu 中出现这样的错误:

命令:

#php -v

结果:

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: mysqlnd_allocator),/usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.4.16 (cli) (built: Mar  5 2021 07:54:20) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0,Copyright (c) Zend Technologies
    with Zend OPcache v7.4.16,Copyright (c),by Zend Technologies

命令:

# php -i |grep PDO

结果:

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: mysqlnd_allocator),/usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PDO
PDO support => enabled
PDO drivers => mysql,pgsql,sqlite
PDO Driver for MySQL => enabled
PDO Driver for PostgreSQL => enabled
PDO Driver for SQLite 3.x => enabled

在我的 info.php 中

Loaded Configuration File   /etc/php/7.4/fpm/php.ini

在我的终端

Loaded Configuration File => /etc/php/7.4/cli/php.ini

所以我在 /etc/php/7.4/cli/php.ini 中编辑。 我错了吗?有人可以给我一个建议吗?谢谢。

解决方法

我通过确保安装了软件包解决了这个问题:sudo apt-get install php7.4-mysql

,

info.php 显示的是真实的:

Loaded Configuration File   /etc/php/7.4/fpm/php.ini

所以,我完成了在 fpm 中配置 php.ini 的问题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...