PHP 警告:PHP 启动:无法加载动态库“pdo_mysql。

2022-08-30 18:01:46

我运行了命令:

php -v

输出:

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

我运行了这个命令:

php -m

输出:

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib/php/20170718/pdo_mysql.so.so (/usr/lib/php/20170718/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
    [PHP Modules]
    bz2
    calendar
    Core
    ctype
    curl
    date
    dom
    exif
    fileinfo
    filter
    ftp
    gd
    gettext
    hash
    iconv
    intl
    json
    libxml
    mbstring
    openssl
    pcntl
    pcre
    PDO
    Phar
    posix
    readline
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    sodium
    SPL
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    wddx
    xml
    xmlreader
    xmlwriter
    xsl
    Zend OPcache
    zip
    zlib

    [Zend Modules]
    Zend OPcache

php.ini 文件包含以下行:

extension=pdo_mysql

已运行以下命令:

sudo apt-get install -y php-pdo-mysql

未安装任何内容,因为它已安装。

已运行以下命令:

php -i

输出显示:

PDO

PDO support => enabled
PDO drivers =>

不知道为什么会这样,也不知道该怎么办。有什么建议吗?


答案 1

我以这种方式解决了这个问题:

sudo apt-get --purge remove php-common

sudo apt-get install php-common php-mysql php-cli

现在没有错误,并显示它具有一切:php -m


答案 2

您可能使用的是 php7.2,因此您应该编辑 php.ini 文件 (/etc/php/7.2/cli/php.ini)。

可能 extension=pdo_mysql 在第 906 行上是未注释的。通过在行的开头添加 ;来注释此行。

保存并关闭php后.ini错误应该会消失,但是,为了确保更改生效,请重新启动php服务:

$ sudo systemctl restart php7.2-fpm


推荐