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:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません。
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:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません。)
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