質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

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

Q&A

解決済

2回答

1848閲覧

herokuでの505エラーの原因が分からない

dbrow

総合スコア18

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

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

0グッド

0クリップ

投稿2020/07/25 06:54

実現したいこと

Herokuでphpファイルデプロイ時に発生している505エラーの解決

発生している問題・エラーメッセージ

デプロイ後に、WEBアプリ画面のコンソールを開くと、以下のエラーが表示されていた。

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

取り組んだこと

・ターミナルでheroku logsコマンドを実行、以下のようなメッセージを確認

2020-07-25T06:16:45.499079+00:00 app[web.1]: [25-Jul-2020 06:16:45 UTC] PHP Fatal error: Uncaught Error: Call to undefined function mb_language() in /app/web/index.php:43

・エラーメッセージで検索したところこちら(http://sharoushi.ciao.jp/hitori/php-solve-fatal-error-mb_language/)等のページを見て、主に以下2点が足りていないのではと考えました。
①php mbstringのインストール(←しかしこちらはphp -mでインストールが確認できました。)
②php.iniの設定

お伺いしたいこと

・上記で問題解決の方向性としてあってますでしょうか。
・(上記で検討違いのことをしていなければ)php.iniの場所を見つけるために、以下のコマンドを打ったのですが、以下を見ても場所が分からず、どのように置かれている場所を見つけたらよろしいでしょうか。

(base) tanabehukinoMBP:php-getting-started tianbianhongzhi$ php -r "echo phpinfo();" | grep "php.ini" Configuration File (php.ini) Path => /etc (base) tanabehukinoMBP:php-getting-started tianbianhongzhi$

OS

Mac OS 10.15.4

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

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

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

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

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

guest

回答2

0

php -mやphp.iniでの確認は、あなたのmacにPHPの拡張がインストールされているかを確認できるだけで、heroku上のものは特に関係ありません。

herokuではmbstringはオプションで追加できるPHP拡張とされているようです。
https://devcenter.heroku.com/articles/php-support#using-optional-extensions

composer.jsonに

json

1{ 2 "require": { 3 "ext-mbstring": "*" 4 } 5} 6

の記述があればデプロイ時に追加してくれるようです。

投稿2020/07/25 07:17

aaharu

総合スコア441

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

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

dbrow

2020/07/25 09:50

ありがとうございます。下記を理解できていませんでした。 >php -mやphp.iniでの確認は、あなたのmacにPHPの拡張がインストールされているかを確認できるだけ>で、heroku上のものは特に関係ありません。 上記とcomposer.lockの更新(https://qiita.com/taro-hida/items/f677abe2bc3b689002b3 に記載ありました)で解決しました。他の問題に突き当たりましたが、こちらは別で質問させていただきます。
guest

0

ベストアンサー

composer.lock 内を mbstring で検索して見つからなければ
Heroku 上では有効になっていません

Heroku PHP Support | Heroku Dev Center

The following built-in extensions have been built “shared”
and can be enabled through composer.json
(internal identifier names given in parentheses):

Heroku 上で mbstring を確実に有効にするためには
cpmposer.json に次のセクションを追加します:

json

1{ 2 "require": { 3 "ext-mbstring": "*" 4 } 5}

参考: Heroku PHP Support | Heroku Dev Center

投稿2020/07/25 07:19

y_shinoda

総合スコア3272

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

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

dbrow

2020/07/25 09:49

ありがとうございます。上記とcomposer.lockの更新(https://qiita.com/taro-hida/items/f677abe2bc3b689002b3 に記載ありました)で解決しました。他の問題に突き当たりましたが、こちらは別で質問させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問