web-dev-qa-db-ja.com

ダイナミックphp_mbstring.dllライブラリを読み込めません

私は自分のphpバージョンを使用してチェックしています

php -v

コンソールでコマンドを実行すると、以下の警告が表示されます

PHP警告:PHP起動:動的ライブラリを読み込めません '/usr/lib/php/20151012/php_mbstring.dll'-/usr/lib/php/20151012/php_mbstring.dll:開くことができません共有オブジェクトファイル:0行目の不明にそのようなファイルまたはディレクトリはありませんPHP 7.0.4-7ubuntu2(cli)(NTS)Copyright(c)1997-2016 PHP Group Zend Engine v3.0.0、Copyright(c)1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev、Copyright(c)1999-2016、by Zend Technologies

/etc/php/7.0/fpm/php.iniファイルでこの行extension = php_mbstring.dllのコメントを解除しましたが、これで問題が解決しないようです。この警告をどのように取り除くのですか?

11
jaahvicky

コマンドラインから実行しようとすると、同じPHP警告が発生しました。これは、Homestead Vagrant Ubuntuボックスで発生しました。

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

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

私が気付いていなかったのは、コマンドラインでphpを実行しているとき、またはPHPを使用するCLI

質問のパスに基づいて、/ etc/php/7.0/cli/php.iniを探し、mbstringモジュールをコメントアウトする必要があります(Linuxを想定)。

extension=php_mbstring.dll
;extension=php_mbstring.dll ; commented out

これで問題が解決しない場合は、次のコマンドを実行してみてください。

php -i | grep -i "Loaded Configuration File"

これにより、正しいphp.iniファイルが表示されました。

Loaded Configuration File => /etc/php/7.1/cli/php.ini
6
JDev518

Php.iniで「extension_dir」を検索します:プラットフォームのコメントを解除します(私の場合はWindows上にあります:)

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
1
Bretzelus

PHP拡張子に関するこの問題は、php.iniファイルでmbstring拡張子を有効にする必要があります。

ファイルパス:/etc/php/7.1/cli/php.ini

903番あたりの行番号。

あるだろう

; extension = php_mbstring.dll

そのはず

extension = php_mbstring.dll

0
Tush