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
私はフォローしようとしました
しかし、何も私のために働いた。
これを解決する方法はありますか?
Linuxを使用している場合は、DLLファイルではなく、SOファイル。 php.iniで。
Mysqliを使用するには、次のようにする必要があります。
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
_)私の場合、extension=php_mysqli.dll
他のパッケージを実行するためのphp.iniファイルの行。周りをグーグルで調べた後、php.iniから直接コメント解除しないでください。代わりに、必要なphp拡張機能をインストールする必要があり、残りは実行されます。
私は最近ubuntu16.04でこの問題に遭遇しましたが、extension=php_*.dll
のような各行にセミコロンを追加することで最終的に解決しました。私たちのために。また、Windowsでは、;extension=php_*.dll
のphp.ini
のような各行のセミコロンを削除して、拡張機能を手動で有効にする必要があります。
Phpinfo()
を実行しますphp.ini
パス
検索extension=php_mysqli.so
このようなコメント
;extension=php_mysqli.so
私はちょうど同じ問題を抱えていて、それらが_/etc/php/7.0
_の2つのフォルダーであることに気付きました。これらは_Apache2
_とcli
です。 _cli/php.ini
_の拡張行は、_Apache2
_ディレクトリの拡張ファイルではなく、dllファイルのコメントが外されていることが判明しました。コメントするだけで問題は解決しました。
/etc/php/7.2または/etc/php/7.3の下にmcrypt.soが表示されている場合は、削除してサーバーを再起動するだけで問題が解決します。 PHPを最新バージョンに変更すると、そのファイルは必要のない最新バージョンに保存される場合があります。
次のコマンドを使用しました。
cd /etc/php/7.3
Sudo rm -rf mcrypt.so
SudoサービスのApache2の再起動
Ubuntuを使用しているため、.dll拡張子を持つすべての行をコメント化してください。 Ubuntuは.soファイルをサポートします。