ホーム > カテゴリ > サーバー構築・運用・Linux >

PHP Warning: PHP Startup: Unable to load dynamic library [解決方法]

PHPで次のようなエラー(警告)が発生した際の解決方法です。これはPHPの「環境設定」が上手くいってない状態です。LaravelやCakePHPなどのフレームワークのエラーではありません。

エラーの例1

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

PHP警告:PHP起動:動的ライブラリ 'mysqli'をロードできません(試行:/ usr / lib / php / 20190902 / mysqli(/ usr / lib / php / 20190902 / mysqli:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません。

エラーの例2

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

PHP警告:PHP起動:動的ライブラリ 'pdo_mysql'を読み込めません(試行:/ usr / lib / php / 20190902 / pdo_mysql(/ usr / lib / php / 20190902 / pdo_mysql:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません。)

エラーの例3

PHP Warning: Module 'mbstring' already loaded in Unknown on line 0. PHP警告:モジュール 'mbstring'はすでに0行目の不明にロードされています。

解決方法 (エラーの例1と例2)

今回は「PHP.ini」でDynamic Extensionsの設定をするのではありません。Dynamic Extensionsの設定は次のように初期状態のままにします。

;extension=mbstring
;extension=mysqli
;extension=pdo_mysql

※コメントのままにします。

私の場合は次のコマンドで解決できました。PHP7.4ですので各自の環境に合わせてコマンドを実行して下さい。

// サーバーの停止
sudo service apache2 stop

// PHPの削除
sudo apt-get remove php7.4
sudo apt-get update
sudo apt-get upgrade

sudo apt-get purge php7.*
sudo apt-get autoclean
sudo apt-get autoremove

// PHPのインストール
sudo apt-get install php7.4

// サーバーの再起動
sudo service apache2 restart

解決方法 (エラーの例3)

マルチバイト文字列関連の「php-mbstring」をインストールするだけです。

sudo apt-get install php-mbstring





関連記事



公開日:2021年01月02日
記事NO:02876