web-dev-qa-db-ja.com

PHPスタートアップダイナミックライブラリ/usr/lib/php/20151012/php_mysqli.dllをロードできません

Ubuntu 14.04 EC2インスタンスがあります。 PHP 7をインストールしました。 php --versionなどのphpコマンドを実行したとき。次のエラーが表示されます

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mysqli.dll' - /usr/lib/php/20151012/php_mysqli.dll: cannot open shared object file: No such file or directory in Unknown on line 0

私はフォローしようとしました

  1. php.iniでphp_mysqli.dllを有効にします
  2. mysqli.soを有効にします
  3. php_mysqli.soを有効にします
  4. Sudo apt-get install php-mysql

しかし、何も私のために働いた。

これを解決する方法はありますか?

9
Jass

Linuxを使用している場合は、DLLファイルではなく、SOファイル。 php.iniで。

Mysqliを使用するには、次のようにする必要があります。

  • ubuntuのパッケージをインストールします:_apt-get install php-mysql_
  • 既に有効になっているかどうかを確認します(たとえば、phpinfo()を使用して)
  • 有効になっていない場合は、モジュールを有効にします-_/etc/php/mods-available/_が含まれ、_mysqli.ini_が含まれる場合は_extension=mysqli.so_フォルダーをチェックインし、シンボリックリンクを指す場合はCLI/FPM/Apache /その他をチェックしますこのファイルへ(たとえば、CLIの場合、_/etc/php/cli/conf.d/_:_20-mysqli.ini -> ../../mods-available/mysqli.ini_)
  • 使用しているものに応じてphp/Apache/nginxを再起動します
11
jquiaios

私の場合、extension=php_mysqli.dll他のパッケージを実行するためのphp.iniファイルの行。周りをグーグルで調べた後、php.iniから直接コメント解除しないでください。代わりに、必要なphp拡張機能をインストールする必要があり、残りは実行されます。

2

私は最近ubuntu16.04でこの問題に遭遇しましたが、extension=php_*.dllのような各行にセミコロンを追加することで最終的に解決しました。私たちのために。また、Windowsでは、;extension=php_*.dllphp.iniのような各行のセミコロンを削除して、拡張機能を手動で有効にする必要があります。

1
skiwer

Phpinfo()を実行しますphp.iniパス

検索extension=php_mysqli.so

このようなコメント

;extension=php_mysqli.so
0
Babu Pandey

私はちょうど同じ問題を抱えていて、それらが_/etc/php/7.0_の2つのフォルダーであることに気付きました。これらは_Apache2_とcliです。 _cli/php.ini_の拡張行は、_Apache2_ディレクトリの拡張ファイルではなく、dllファイルのコメントが外されていることが判明しました。コメントするだけで問題は解決しました。

0
Sylordis

/etc/php/7.2または/etc/php/7.3の下にmcrypt.soが表示されている場合は、削除してサーバーを再起動するだけで問題が解決します。 PHPを最新バージョンに変更すると、そのファイルは必要のない最新バージョンに保存される場合があります。

次のコマンドを使用しました。

cd /etc/php/7.3

Sudo rm -rf mcrypt.so

SudoサービスのApache2の再起動

0
shivanikoko

Ubuntuを使用しているため、.dll拡張子を持つすべての行をコメント化してください。 Ubuntuは.soファイルをサポートします。

0