こんにちは。
PHPで作成したアプリケーションをherokuサーバーに上げてみましたが、取得したURLや「OPEN APP]をクリックしても、「Application ERROR」と画面に表れてしまいました。
ログを確認すると、下記のエラーを確認しました。
herokuLOG
1 22019-11-14T15:06:23.658227+00:00 heroku[web.1]: Process exited with status 1 32019-11-14T15:07:09.221898+00:00 heroku[web.1]: State changed from crashed to starting 42019-11-14T15:07:10.773514+00:00 heroku[web.1]: Starting process with command `vendor/bin/heroku-php-apache2 works\custombbs` 52019-11-14T15:07:14.075422+00:00 heroku[web.1]: State changed from starting to crashed 62019-11-14T15:07:14.062659+00:00 heroku[web.1]: Process exited with status 1 72019-11-14T15:07:14.012584+00:00 app[web.1]: DOCUMENT_ROOT 'workscustombbs' does not exist 8
これを踏まえ、下記のことをこれまで行いました。
①Htaccessの作成
②Procfileで指定するパスの修正(フルパス、ディレクトリセパレータをLinux形式にする)
③composer.jsonの内容の記述とcomposer update
④Procfileとcomposer.jsonをプロジェクトフォルダの前に移動
⑤login.phpに「require (‘autoload.phpまでのフルパス’)」の追記
⑥DOC_ROOTをプロジェクトフォルダまでのフルパスに設定
以下、ファイルを置いた場所と、Procfile、Htaccess、設定したドキュメントルートです。
htdocs | works | └── custombbs ├── .htaccess └── login.php └── composer.json └── Procfile
DOC_ROOT=htdocs/works/custombbs
Procfile
1web: vendor/bin/heroku-php-apache2 htdocs/works/custombbs
Htaccess
1RewriteEngine On 2RewriteCond %{REQUEST_FILENAME} !-f 3RewriteRule ^ login.php [QSA,L]
11/15 追記
heroku openした際に生成されたコマンドを確認しました。
heroku
1#!/usr/bin/env sh 2 3dir=$(cd "${0%[/\]*}" > /dev/null; cd "../heroku/heroku-buildpack-php/bin" && pwd) 4 5if [ -d /proc/cygdrive ]; then 6 case $(which php) in 7 $(readlink -n /proc/cygdrive)/*) 8 # We are in Cygwin using Windows php, so the path must be translated 9 dir=$(cygpath -m "$dir"); 10 ;; 11 esac 12fi 13 14"${dir}/heroku-php-apache2" "$@" 15
質問ですが、
1.Composerの設定で何か記述しなければならない文言や、作成しなければならないファイルはありますか。
2.この「To success」以降の指示の他に設定しなければならないことはございますか。
3.上記の「heroku-php-apache2」コマンドにエラーや不備はありますか。
質問が途中で変わってしまい大変申し訳ありませんが、ご教授・ご指摘をお願いいたします。
回答2件
あなたの回答
tips
プレビュー