Amazon Linuxでphpでmbstringを使う

しょぼい記事ですみません。

#環境
Amazon EC2 / AWS
Linux ip-xxx-xx-xx-xx 4.9.17-8.31.amzn1.x86_64
実行日： 2017-04-13
バージョン： php7
ディストリビューションは、amazon linux (CentOSベースの無償のもの）

事前に、以下の手順にそってインストール
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/install-LAMP.html

# 困ったこと
頂き物のphpを動かしてみたら、エラーログでmb_substrがないと怒られる。。

```/var/log/httpd/error_log
[Thu Apr 13 02:05:37.287787 2017] [:error] [pid 32557] [client xxx.xxx.xxx.xxx:61072] PHP Fatal error:  Uncaught Error: Call to undefined function mb_substr() in /var/www/html/xxx/xxx.php:82\nStack trace:\n#0 {main}\n  thrown in /var/www/html/xxx/xxx.php on line 82, referer: http://xxx.xxx.xxx.xxx/xxx/top.php
```

# 現状確認

mbモジュールが入ってないっぽい。

```
[root@ip-xxx-xx-xx-xx etc]# php -m
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zlib

[Zend Modules]

```

# 解決策

yumでインストール

```
[root@ip-xxx-xx-xx-xx php.d]# php -v
PHP 7.0.16 (cli) (built: Mar  6 2017 19:45:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

[root@ip-xxx-xx-xx-xx php.d]# yum list | grep "\-mbstring"
php-mbstring.x86_64                     5.3.29-1.8.amzn1               amzn-main
php54-mbstring.x86_64                   5.4.45-1.75.amzn1              amzn-main
php55-mbstring.x86_64                   5.5.38-2.119.amzn1             amzn-main
php56-mbstring.x86_64                   5.6.30-1.133.amzn1             amzn-main
php70-mbstring.x86_64                   7.0.16-1.21.amzn1              amzn-main

[root@ip-xxx-xx-xx-xx php.d]# yum install php70-mbstring.x86_64
読み込んだプラグイン:priorities, update-motd, upgrade-helper
1004 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php70-mbstring.x86_64 0:7.0.16-1.21.amzn1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

==================================================================================================================
 Package                      アーキテクチャー     バージョン                       リポジトリー             容量
==================================================================================================================
インストール中:
 php70-mbstring               x86_64               7.0.16-1.21.amzn1                amzn-main               1.3 M

トランザクションの要約
==================================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 1.3 M
インストール容量: 2.7 M
Is this ok [y/d/N]: y
Downloading packages:
php70-mbstring-7.0.16-1.21.amzn1.x86_64.rpm                                                | 1.3 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : php70-mbstring-7.0.16-1.21.amzn1.x86_64                                           1/1 
  検証中                  : php70-mbstring-7.0.16-1.21.amzn1.x86_64                                           1/1 

インストール:
  php70-mbstring.x86_64 0:7.0.16-1.21.amzn1                                                                       

完了しました!

# ここで再起動
[root@ip-xxx-xx-xx-xx php.d]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
```

#動作確認

```
[root@ip-xxx-xx-xx-xx php.d]# php -m | grep mb
mbstring
```
めでたしめでたし。

ちなみに、設定ファイル（/etc/phpini）は、以下のサイトを参考にしました。
http://qiita.com/yamaguchi_takashi/items/d4b7b2693b42679dc3ae
（バージョンは違いますが、mbstringについてはほとんど同じです。）