web-dev-qa-db-ja.com

PHP警告:PHP起動時:動的ライブラリ 'pdo_mysql.so'をロードできません

コマンドを実行しました。

_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 =>
_

なぜこれが何であるかどうかわからない。助言がありますか?

3
flabbergasted

Pdo_mysql.soファイルの場所がPHP extension_dirと同じであることを確認してください。

_# php -i|grep extension_dir
_
_# find / -name pdo_mysql.so
_

これを行い、php.iniに絶対パスを追加することによって:

_extension=/usr/lib/php/20190902/pdo_mysql
_

これが機能します。

1
malkev