ひとり勉強ログ

ITエンジニアの勉強したことメモ

phpの「Fatal error: Call to undefined function mb_language() in ...」を解決する方法

下記のようなエラーが表示された場合の対処方法。

Fatal error: Call to undefined function mb_language() in /var/www/html/hoge/fuga.php on line 15

php-mbstringのインストール

root権限になって

[bash] [root@localhost ~]# yum -y install php-mbstring [/bash]

下記のようにインストールが完了。

[bash] 読み込んだプラグイン:fastestmirror, langpacks base | 3.6 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 Loading mirror speeds from cached hostfile * base: ftp.nara.wide.ad.jp * extras: ftp.nara.wide.ad.jp * updates: ftp.nara.wide.ad.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php-mbstring.x86_64 0:5.4.16-42.el7 を インストール --> 依存性解決を終了しました。

依存性を解決しました


Package アーキテクチャ

                                 バージョン              リポジトリー  容量

インストール中: php-mbstring x86_64 5.4.16-42.el7 base 505 k

トランザクションの要約

インストール 1 パッケージ

総ダウンロード容量: 505 k インストール容量: 1.3 M Downloading packages: php-mbstring-5.4.16-42.el7.x86_64.rpm | 505 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : php-mbstring-5.4.16-42.el7.x86_64 1/1 検証中 : php-mbstring-5.4.16-42.el7.x86_64 1/1

インストール: php-mbstring.x86_64 0:5.4.16-42.el7

完了しました! [/bash]

php.iniファイルの修正

php.iniファイルの場所を確認

[bash] [www@localhost cocorotown]$ locate php.ini /etc/php.ini [/bash]

php.iniファイルの内容を修正

「Dynamic Extensions」の欄に追記する。

ファイルを開いて [bash] [root@localhost ~]# vi /etc/php.ini [/bash]

「Dynamic Extensions」の部分を検索。 vimでファイルを開いた状態で下記コマンドを実行。 [bash] /Dynamic [/bash]

該当部分にジャンプする。 [bash] ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following ; syntax: ; ; extension=modulename.extension ; ; For example, on Windows: ; ; extension=msql.dll ; ; ... or under UNIX: ; ; extension=msql.so ; ; ... or with a path: ; ; extension=/path/to/extension/msql.so ; ; If you only provide the name of the extension, PHP will look for it in its ; default extension directory. [/bash]

上記部分の下に追記。 [bash] extension=mbstring.so [/bash]

※「i」で編集モードになり、入力、「Esc」で通常モードに戻り、「:wq!」で保存して閉じる。

httpdを再起動

[bash] [root@localhost ~]# systemctl restart httpd.service [/bash]

phpinfo()で確認

下記部分が追加されている。