php7.3をアンインストール後にphp7.4をインストールしたところ、
mb_convert_encoding()を含むページでエラーが出るようになりました。
mbstringモジュールをインストールしたところ、
mbstring.iniとmbstring.soが作られていなくて、解決しませんでした。
現状からの解決方法を教えてください。
Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding()
経緯
phpを実行してFatal Errorが出ました。
調べたところ、mbstirngモジュールに関する問題だとわかりました。
php.iniの[Dynamic extension] に extension=mbstring.so を追記。
httpd.serviceをrestart
→結果:×
mbstringモジュールが入っていないのかと思い、
php -m で確認したところ、mbstringが入っていませんでした。
php -m の結果
[@ *]$ php -m
PHP Warning: PHP Startup: Unable to load dynamic library 'mbstring.s /usr/lib64/php/modules/mbstring.so (/usr/lib64/php/modules/mbstring.s pen shared object file: No such file or directory), /usr/lib64/php/mo ing.so.so (/usr/lib64/php/modules/mbstring.so.so: cannot open shared : No such file or directory)) in Unknown on line 0
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
openssl
pcntl
pcre
Phar
readline
Reflection
session
sockets
sodium
SPL
standard
tokenizer
zlib
[Zend Modules]
3.1
php7.4用っぽいパッケージを調べて、下記のコマンドでmbstringをインストールしました。
→結果:×
yum install --enablerepo=remi, php74-php-mbstring
現状
mbstringをインストールしても解決しませんでした。
状況を調べたところ、以下2点の問題が見つかりました。
1.mbstring.iniが無い
"yum list installed | grep php*" ではmbstringの表記が見つかるが、
"php -m" だと mbstring が表示されませんでした。
mbstring.iniが無いと予想して"php --ini"で調べたところ、iniがありませんでした。
2.mbstring.soが無い
"php -m" で[Warning]が表示されるので、mbstring.soを探してみましたが、見つかりませんでした。
[@ ]$ find /usr/lib64/php/modules/
/usr/lib64/php/modules/bz2.so
/usr/lib64/php/modules/calendar.so
/usr/lib64/php/modules/ctype.so
/usr/lib64/php/modules/curl.so
/usr/lib64/php/modules/exif.so
/usr/lib64/php/modules/fileinfo.so
/usr/lib64/php/modules/ftp.so
/usr/lib64/php/modules/gettext.so
/usr/lib64/php/modules/iconv.so
/usr/lib64/php/modules/json.so
/usr/lib64/php/modules/phar.so
/usr/lib64/php/modules/sockets.so
/usr/lib64/php/modules/sodium.so
/usr/lib64/php/modules/tokenizer.so
ここまでが経緯と現状の説明になります。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー