mbstring系関するでエラー多発
Cloud9をAmazon Linux 2 (recommended)で構築したところ、PHPのmbstring系の関数でエラーに遭遇。
mbstring系の関数だけが動くシンプルなコードでエラーが再現されることを確認。
<?php
$katakana = "アイウエオカキクケコ";
$hiragana= mb_convert_kana($katakana, "HcV");
echo $hiragana, PHP_EOL;
?>
- Uncaught Error: Call to undefined function mb_convert_kana() in /home/ec2-user/environment/index.php:4
どうやら、Cloud9では、デフォルトでmbstringが利用できない状態らしい。
とりあえずCloud9の環境を作り直す
これまで使っていたCloud9の環境は既に色々な設定ファイルを変更していたので、再度ゼロから作り直してみる。
今回も、RecommendedとなっているAmazon Linux 2で環境を構築。
とりあえず、PHP周りで何がインストールされているか確認。
$ yum list installed | grep php
mariadb.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
mariadb-common.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
mariadb-config.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
mariadb-libs.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-cli.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-common.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-devel.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-fpm.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-json.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-mysqlnd.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-pdo.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-pear.noarch 1:1.10.12-9.amzn2 @amzn2-core
php-process.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-xml.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-mbstringが無い様子。
php-mbstringのインストール
とりあえず、php-mbstringをインストールしてみる。
$ sudo yum -y install php-mbstring
===========================
Installed:
php-mbstring.x86_64 0:7.2.24-1.amzn2.0.1
Dependency Installed:
oniguruma.x86_64 0:5.9.6-1.amzn2.0.4
Complete!
php-mbstringが無事インストール完了。
つられて鬼車もインストールされた模様。
$ yum list installed | grep php
mariadb.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
mariadb-common.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
mariadb-config.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
mariadb-libs.x86_64 3:10.2.38-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-cli.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-common.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-devel.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-fpm.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-json.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-mbstring.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-mysqlnd.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-pdo.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-pear.noarch 1:1.10.12-9.amzn2 @amzn2-core
php-process.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
php-xml.x86_64 7.2.24-1.amzn2.0.1 @amzn2extra-lamp-mariadb10.2-php7.2
問題解消!
そして、無事問題解消。
あっさり解決してよかったです。