🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

4回答

5079閲覧

awsにインストールしたPHP7.4でmbstringを有効化したい

ma2hiro

総合スコア159

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/02/12 09:17

編集2021/02/15 01:57

お世話になっております。
度々本当に申し訳ございません。

件名の通りなのですが
awsにインストールしたPHP7.4でmbstringを有効化したいと思っております。

ネット上で見つけた
Amazon linux2でphp-mbstring有効化 | ハックノート
の通りやってみたのですが
phpinfo();では

Multibyte decoding support using mbstring disabled

と有効化されないのです……

上記URL記載の
[mbstring]内の他の項目に関しても

mbstring.substitute_character = none mbstring.func_overload = 0 mbstring.strict_detection = On mbstring.http_output_conv_mimetype= "^(text/|application/((.++)?xml|ecmascript|javascript|json)$)" mbstring.regex_stack_limit=100000 mbstring.regex_retry_limit=1000000

として
$ sudo service httpd restart
としたのですがphpinfo();で
Multibyte decoding support using mbstring disabled
のままでした。

教えて君で本当に申し訳ないのですが
どのように設定すれば良いのか調査方法をご教示頂けないでしょうか?

お忙しい所大変申し訳ないのですが上記何かコメント頂けますようお願い申し上げます。

【追記】

]$ yum repolist all Loaded plugins: extras_suggestions, langpacks, priorities, update-motd 261 packages excluded due to repository priority protections repo id repo name status !amzn2-core/2/x86_64 Amazon Linux 2 core rep enabled: 23,094 amzn2-core-debuginfo/2/x86_64 Amazon Linux 2 core rep disabled amzn2-core-source/2 Amazon Linux 2 core rep disabled !amzn2extra-docker/2/x86_64 Amazon Extras repo for enabled: 36 amzn2extra-docker-debuginfo/2/x86_64 Amazon Extras debuginfo disabled amzn2extra-docker-source/2 Amazon Extras source re disabled !amzn2extra-epel/2/x86_64 Amazon Extras repo for enabled: 1 amzn2extra-epel-debuginfo/2/x86_64 Amazon Extras debuginfo disabled amzn2extra-epel-source/2 Amazon Extras source re disabled !amzn2extra-php7.3/2/x86_64 Amazon Extras repo for enabled: 540 amzn2extra-php7.3-debuginfo/2/x86_64 Amazon Extras debuginfo disabled amzn2extra-php7.3-source/2 Amazon Extras source re disabled !epel/x86_64 Extra Packages for Ente enabled: 13,301+219 epel-debuginfo/x86_64 Extra Packages for Ente disabled epel-source/x86_64 Extra Packages for Ente disabled epel-testing/x86_64 Extra Packages for Ente disabled epel-testing-debuginfo/x86_64 Extra Packages for Ente disabled epel-testing-source/x86_64 Extra Packages for Ente disabled mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Commu disabled mysql-cluster-7.5-community-source MySQL Cluster 7.5 Commu disabled mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Commu disabled mysql-cluster-7.6-community-source MySQL Cluster 7.6 Commu disabled mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Commu disabled mysql-cluster-8.0-community-source MySQL Cluster 8.0 Commu disabled !mysql-connectors-community/x86_64 MySQL Connectors Commun enabled: 146+39 mysql-connectors-community-source MySQL Connectors Commun disabled !mysql-tools-community/x86_64 MySQL Tools Community enabled: 123 mysql-tools-community-source MySQL Tools Community - disabled mysql-tools-preview/x86_64 MySQL Tools Preview disabled mysql-tools-preview-source MySQL Tools Preview - S disabled mysql55-community/x86_64 MySQL 5.5 Community Ser disabled mysql55-community-source MySQL 5.5 Community Ser disabled mysql56-community/x86_64 MySQL 5.6 Community Ser disabled mysql56-community-source MySQL 5.6 Community Ser disabled mysql57-community/x86_64 MySQL 5.7 Community Ser disabled mysql57-community-source MySQL 5.7 Community Ser disabled !mysql80-community/x86_64 MySQL 8.0 Community Ser enabled: 229 mysql80-community-source MySQL 8.0 Community Ser disabled !remi Remi's RPM repository f disabled remi-debuginfo/x86_64 Remi's RPM repository f disabled remi-glpi91 Remi's GLPI 9.1 RPM rep disabled remi-glpi92 Remi's GLPI 9.2 RPM rep disabled remi-glpi93 Remi's GLPI 9.3 RPM rep disabled remi-glpi94 Remi's GLPI 9.4 RPM rep disabled remi-modular Remi's Modular reposito disabled remi-modular-test Remi's Modular testing disabled remi-php54 Remi's PHP 5.4 RPM repo disabled remi-php55 Remi's PHP 5.5 RPM repo disabled remi-php55-debuginfo/x86_64 Remi's PHP 5.5 RPM repo disabled remi-php56 Remi's PHP 5.6 RPM repo disabled remi-php56-debuginfo/x86_64 Remi's PHP 5.6 RPM repo disabled remi-php70 Remi's PHP 7.0 RPM repo disabled remi-php70-debuginfo/x86_64 Remi's PHP 7.0 RPM repo disabled remi-php70-test Remi's PHP 7.0 test RPM disabled remi-php70-test-debuginfo/x86_64 Remi's PHP 7.0 test RPM disabled remi-php71 Remi's PHP 7.1 RPM repo disabled remi-php71-debuginfo/x86_64 Remi's PHP 7.1 RPM repo disabled remi-php71-test Remi's PHP 7.1 test RPM disabled remi-php71-test-debuginfo/x86_64 Remi's PHP 7.1 test RPM disabled remi-php72 Remi's PHP 7.2 RPM repo disabled remi-php72-debuginfo/x86_64 Remi's PHP 7.2 RPM repo disabled remi-php72-test Remi's PHP 7.2 test RPM disabled remi-php72-test-debuginfo/x86_64 Remi's PHP 7.2 test RPM disabled remi-php73 Remi's PHP 7.3 RPM repo disabled remi-php73-debuginfo/x86_64 Remi's PHP 7.3 RPM repo disabled remi-php73-test Remi's PHP 7.3 test RPM disabled remi-php73-test-debuginfo/x86_64 Remi's PHP 7.3 test RPM disabled remi-php74 Remi's PHP 7.4 RPM repo disabled remi-php74-debuginfo/x86_64 Remi's PHP 7.4 RPM repo disabled remi-php74-test Remi's PHP 7.4 test RPM disabled remi-php74-test-debuginfo/x86_64 Remi's PHP 7.4 test RPM disabled remi-php80 Remi's PHP 8.0 RPM repo disabled remi-php80-debuginfo/x86_64 Remi's PHP 8.0 RPM repo disabled remi-php80-test Remi's PHP 8.0 test RPM disabled remi-php80-test-debuginfo/x86_64 Remi's PHP 8.0 test RPM disabled !remi-safe Safe Remi's RPM reposit enabled: 4,097+3 remi-safe-debuginfo/x86_64 Remi's RPM repository f disabled remi-test Remi's test RPM reposit disabled remi-test-debuginfo/x86_64 Remi's test RPM reposit disabled repolist: 41,567

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/02/12 09:44 編集

phpのインストール時に、php-mbstringを入れていないのでは? あるいはphp74-mbstringとかだったりするかもしれないけど。
hentaiman

2021/02/12 09:20

前回のmysqlと同じで構築手順が疑わしいから最初からやり直してみなせえ
退会済みユーザー

退会済みユーザー

2021/02/12 09:26

複数のphpが入っていたりしませんかね。しらないけど。
guest

回答4

0

service php-fpm restart
しましたでしょうか。

投稿2021/10/15 20:11

weboctopusjp

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma2hiro

2021/10/18 00:27

weboctopusjp様 コメントありがとうございます。 ちょっとAWS停止しちゃって再起動する方法をど忘れしてしまったので そちらを調べてやってみますっ service php-fpm restart ですねっ 情報ありがとうございました。
guest

0

現場猫さんからのアドバイスのように勉強した事をメモ失礼します。
通知が行ってご迷惑かからないように新規でトピ作成……

$ sudo service --status-all ● cfn-hup.service - SYSV: Runs user-specified actions when a Loaded: loaded (/etc/rc.d/init.d/cfn-hup; bad; vendor preset: disabled) Active: inactive (dead) Docs: man:systemd-sysv-generator(8) netconsole module not loaded Configured devices: lo eth0 Currently active devices: lo eth0

となっているがこちらは関係ないのかな???

投稿2021/03/01 05:52

ma2hiro

総合スコア159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

$ yum list installed |grep php
php-cli.x86_64 7.4.14-1.amzn2 @amzn2extra-php7.4
php-common.x86_64 7.4.14-1.amzn2 @amzn2extra-php7.4
php-fpm.x86_64 7.4.14-1.amzn2 @amzn2extra-php7.4
php-json.x86_64 7.4.14-1.amzn2 @amzn2extra-php7.4
php-mbstring.x86_64 7.4.14-1.amzn2 @amzn2extra-php7.4
php-mysqlnd.x86_64 7.4.14-1.amzn2 @amzn2extra-php7.4
php-pdo.x86_64 7.4.14-1.amzn2 @amzn2extra-php7.4

と mbstring が入っているようだが
$ sudo vim /etc/php.ini
にて
Amazon linux2でphp-mbstring有効化 | ハックノート
記載のようにphp.iniを書き換え

$ sudo service httpd restart

としましたが mbstring が有効化されていないのです……

基礎知識が足りないのは重々承知なのですが
どうやって調べれば良いのか何か情報をお持ちな方はコメント頂けますと幸いです。

投稿2021/02/24 07:11

編集2021/02/24 09:26
ma2hiro

総合スコア159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma2hiro

2021/02/25 08:02

ううう 本当に分からないからメモ失礼します。 今現在 Multibyte decoding support using mbstring disabled を解決しようとしているが /etc/php.ini が反映されなくてググってみたが https://liliel.hateblo.jp/entry/2020/07/14/172234 に記載のように $ sudo service php-fpm restart Redirecting to /bin/systemctl restart php-fpm.service で出来ましたっ\(^o^)/
hentaiman

2021/02/25 08:07

質問文がapache再起動で反映しようとしてる内容だからmod_php使ってるのかと思い込んでたわ
ma2hiro

2021/02/25 08:12

hentaimanさん コメントありがとうございます。 私もapache再起動で反映されるのかと思っていました^^; php-fpmというものが良く分かって無くて混乱させて申し訳ございませんでした。 https://qiita.com/kotarella1110/items/634f6fafeb33ae0f51dc 等で勉強中です。
hentaiman

2021/02/26 02:43 編集

最近のapacheはデフォルトではmod_php動かんからapacheのconfに手を加える必要がありますよ
ma2hiro

2021/02/26 01:03

>hentaimanさん 度々情報ありがとうございます。 と思いましたが ```'/etc/httpd/conf.d/php.conf' <IfModule mod_php7.c> # # Cause the PHP interpreter to handle files with a .php extension. # <FilesMatch .(php|phar)$> SetHandler application/x-httpd-php </FilesMatch> # # Uncomment the following lines to allow PHP to pretty-print .phps # files as PHP source code: # #<FilesMatch .phps$> # SetHandler application/x-httpd-php-source #</FilesMatch> # # Apache specific PHP configuration options # those can be override in each configured vhost # php_value session.save_handler "files" php_value session.save_path "/var/lib/php/session" php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache" #php_value opcache.file_cache "/var/lib/php/opcache" </IfModule> ``` こちらの事を仰っていると思うのですがデフォルトではmod_phpが動作しているように指定しているように思えるのですが…… 私の不勉強ゆえお問い合わせして大変申し訳ないのですが もう少し取っ掛かりをお教え頂けないでしょうか? お忙しい所大変申し訳ないのですが上記お問い合わせいたします。 教えて頂いたURLを見ても理解出来無いのです……
hentaiman

2021/02/26 02:52

面倒なので説明はしませんが、学習の取っ掛かりとしてはmod_phpがどういうものかを調べる事です 教えたURLの説明は構築初心者でも真似すればmod_phpで動かせるものであって初心者向けに動作の説明をする為に書いたものではないのです。
ma2hiro

2021/02/26 03:54

ありがとうございます。 mod_phpのスタディして仰っている事が理解できるようにします。 コメントありがとうございました。
guest

0

https://teratail.com/questions/321649の質問でもそうですが、まずは以下のコマンドで使えるモジュールを確認します

yum list installed |grep php

これで列挙されているものがその環境で使えるphpモジュールです
その中にmbstringが無いならインストール出来るモジュールが無いかパッケージから検索します

yum search mbstring|grep php

これで出てきたもの(php-mbstring.x86_64など)が必要なモジュールです
インストールしましょう

yum install php-mbstring.x86_64

そして以前の質問に対して書いた通りメジャーなパッケージをパッケージインストールするなら手動でiniを書き換える必要はまずありません

これを試すついでに以前質問されていたMysqlのpdoの問題も上記の手順で再確認し、もし対応出来たら改めて質問者自身で対応した手順を回答しその回答を以て自己解決として選択してください。同様の問題で困った人の為に。

投稿2021/02/12 09:40

編集2021/02/12 09:56
hentaiman

総合スコア6426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma2hiro

2021/02/12 10:09

ありがとうございます。 仰るとおり後学の方の参考になるようにしないと意味が無いですよね…… ありがとうございます。 ``` ]$ yum list installed |grep php libsodium.x86_64 1.0.18-2.amzn2 @amzn2extra-php7.3 php-common.x86_64 7.3.26-1.amzn2 @amzn2extra-php7.3 php-json.x86_64 7.3.26-1.amzn2 @amzn2extra-php7.3 php-mbstring.x86_64 7.3.26-1.amzn2 @amzn2extra-php7.3 php74.x86_64 1.0-3.el7.remi @remi-safe php74-php.x86_64 7.4.15-1.el7.remi @remi-safe php74-php-cli.x86_64 7.4.15-1.el7.remi @remi-safe php74-php-common.x86_64 7.4.15-1.el7.remi @remi-safe php74-php-fpm.x86_64 7.4.15-1.el7.remi @remi-safe php74-php-json.x86_64 7.4.15-1.el7.remi @remi-safe php74-php-mysqlnd.x86_64 7.4.15-1.el7.remi @remi php74-php-pdo.x86_64 7.4.15-1.el7.remi @remi php74-php-pecl-mysql.x86_64 1.0.0-0.23.20190415.d7643af.el7.remi php74-php-sodium.x86_64 7.4.15-1.el7.remi @remi-safe php74-runtime.x86_64 1.0-3.el7.remi @remi-safe ``` としてみると7.3の方には入っているのですが7.4の方に入ってなく 動作しているのは7.4なので $ sudo yum install php74-php-mbstring.x86_64 でインストールし $ sudo service httpd restart とリスタートしたのですが有効化されなかったのですが 前に進みました。 pdoの方も同様に見てみます。 ありがとうございました。
hentaiman

2021/02/12 10:28 編集

パッケージ管理コマンドにdnfありますか? そうでなくてもyumならphp7.4と7.3関連のもの全部アンインストールしてからinstall phpし直せばphp7.4がベースで入ったりしませんかね? os起動してから(主に)php関連でやった手順を教えてくれたらこちらで手順真似してみても良いぞ、どこで詰まってるか分かるかもしれん 再現出来なきゃ無理だけど
yu_1985

2021/02/12 11:55

amazon linuxではまだdnfは使えません。 念の為。 remiを使ってphp74を入れたようなので、逐一remiを有効化した状態でphp74-〜関連のパッケージをyumで入れれば恐らくは問題ないでしょう。 でも、remiのリポジトリとamazonのリポジトリが混在してるので、そこを自分で解決できないなら最初からphpをインストールし直してamazonのリポジトリに統一したほうがいいとは思います。
hentaiman

2021/02/12 12:09

dnf使えないならreset使えないので手動で消して7.4指定してinstallし直しですね とりあえず訳分からなくなったら初期化してやり直すかphpに関連するものを全てアンインストールしてやり直しましょう
ma2hiro

2021/02/15 01:56

yu_1985 様 一点だけ質問がございます。 >でも、remiのリポジトリとamazonのリポジトリが混在してるので、そこを自分で解決できないなら最初からphpをインストールし直してamazonのリポジトリに統一したほうがいいとは思います。 とのアドバイスを頂き amazonのリポジトリに統一したいのですが方法をお伺いしてよろしいでしょうか? $ yum repolist all にてremi-***のレポジトリは…… !remi-safe Safe Remi's RPM reposit enabled: 4,097+3 のみ【enabeled】で他の ``` remi-php54 Remi's PHP 5.4 RPM repo disabled ``` などは disabled なのです…… レポジトリを統一する方法として スッキリとしたやり方があればご教示頂けないでしょうか? TOPに現在の $ yum repolist all の出力を追記しました。 hentaiman様 コメントありがとうございます。 一旦手動で 全部sudo yum remove php php-* と消そうとしましたが ``` $ sudo yum remove php php-* Loaded plugins: extras_suggestions, langpacks, priorities, update-motd No Match for argument: php No Match for argument: php-8.0.2.tar.gz No Match for argument: php-8.0.2.tar.gz.asc No Packages marked for removal ``` と消せませんでした…… 多分レポジトリが混在しているのが不味いのだと思われますが 解決方法をお伺いしてよろしいでしょうか? お忙しい所大変申し訳ないのですがコメント頂けますと幸いです。
yu_1985

2021/02/15 02:59 編集

php74をインストールする際にyumのオプションのenablereposに指定しませんでしたか?同様に指定してください。 ここで問題なのは混在していることではなくて、インストール時に有効にしたremiを有効にしていないことです。 repolistで出てくるのはデフォルトで有効化されているかどうかです。 それから、php*としたほうが確実でしょう。remiのphpパッケージはphpの直後にバージョン番号が入るので。 sudo yum --enablerepo=remi remove php*
hentaiman

2021/02/15 02:59

その状況で改善するには残念ながらlinux周りの基礎知識が足りていないように見えます。 手っ取り早く且つ不具合を将来に残さずに状況を改善する為にも、必要なソースを対比してサーバーを初期化してやり直すことをおすすめします。 有償で技術講師を請け負ったのなら止む無く引き続き対応する事もある内容ですが、たとえ有償でもコマンドを打って表示されたメッセージを逐一コメントに丸載せして聞くようなレベルの人に対しては有償でも初期化を第一に勧めます。それが将来の為です。
ma2hiro

2021/02/16 00:07 編集

お二方 アドバイスありがとうございます。 仰るように本件はホビー使用がメインです。 昔とった杵柄で背伸びをしていたのでもう少ししっかり基礎から学んでいきます。 1から作り直して(土日にでも)解決したら解決方法を書き込もうとおもいます。 本当にアドバイスありがとうございました。 頑張って学んで行きます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問