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

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

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

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

Q&A

解決済

2回答

1599閲覧

herokuの「vendor/bin/heroku-php-apache: No such file or directory」が解消されない。

youth_k0228

総合スコア18

Heroku

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

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

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

0グッド

1クリップ

投稿2019/11/09 17:07

編集2019/11/19 03:31

こんにちは。
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」コマンドにエラーや不備はありますか。

質問が途中で変わってしまい大変申し訳ありませんが、ご教授・ご指摘をお願いいたします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/11/12 03:49

このワーニングはこうすれば消えるって、コマンド説明されてるのは試さないのはなぜでしょう?
youth_k0228

2019/11/12 07:27 編集

こんにちは。 すみません、「buildlog」の「he following steps locally on your computer:」の部分でしょうか。
youth_k0228

2019/11/12 14:59 編集

こんばんは。 すみません、「he following steps locally on your computer:」の指示通りに行ったところ、composerの問題を解決することができました! 完全に私の理解不足と認識不足でした。 ご指摘ありがとうございました。
退会済みユーザー

退会済みユーザー

2019/11/13 03:38

※ ファイルツリーを表記する場合、コードブロックを利用してください
youth_k0228

2019/11/13 03:57

すみません、ただいま御指摘頂いた箇所を修正致しました。
guest

回答2

0

ベストアンサー

正しいのは

web: vendor/bin/heroku-php-apache2 works/custombbs

じゃね

投稿2019/11/13 03:37

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

youth_k0228

2019/11/13 03:59

ご助言、ありがとうございます。 「htdocs」を抜いた場合を試していませんでしたので、こちらを帰宅したら試してみます。 DOC_ROOTもこちらに設定しますか。
youth_k0228

2019/11/14 15:10

こんばんは。 返事が遅くなってしまい申し訳ありません。 こちらを試してみましたが、ドキュメントルートが認証されませんでした。 以下、その時のエラーログです。 ```ERRORLOG 2019-11-14T15:06:23.658227+00:00 heroku[web.1]: Process exited with status 1 2019-11-14T15:07:09.221898+00:00 heroku[web.1]: State changed from crashed to starting 2019-11-14T15:07:10.773514+00:00 heroku[web.1]: Starting process with command `vendor/bin/heroku-php-apache2 works\custombbs` 2019-11-14T15:07:14.075422+00:00 heroku[web.1]: State changed from starting to crashed 2019-11-14T15:07:14.062659+00:00 heroku[web.1]: Process exited with status 1 2019-11-14T15:07:14.012584+00:00 app[web.1]: DOCUMENT_ROOT 'workscustombbs' does not exist ```
退会済みユーザー

退会済みユーザー

2019/11/15 10:17

ディレクトリセパレータは Windows のものではだめですよ
youth_k0228

2019/11/17 14:18

こんばんは。 ディレクトリセパレータを修正し、DOC_ROOTを設定し直しましたが、上記のエラーが対処できませんでした…。
退会済みユーザー

退会済みユーザー

2019/11/19 03:57 編集

heroku run -a *** find -name custombbs 実行結果
youth_k0228

2019/11/19 15:23

実行致しました。 「Running composer.json composer.lock login.php Logout.php Main.php password.php Procfile SignUp.php vendor find -name custombbs on ⬢ bbs1.php... ! ! Couldn't find that app.」と返ってきました。
退会済みユーザー

退会済みユーザー

2019/11/20 06:52

* * * はアプリ名ね
youth_k0228

2019/11/20 14:53

申し訳ありません。 大変失礼致しました。 「Running find -name custombbs on ⬢ custombbs... up, run.3775 (Free)」と結果が返ってきました。
退会済みユーザー

退会済みユーザー

2019/11/20 23:26

その結果で理由がわかったが、ローカル上の構成(ディレクトリパス)をみて heroku 上のドキュメントルートに設定しようとしても、そんなディレクトリはないと出るのは当たり前です
youth_k0228

2019/11/21 06:08 編集

ローカルのディレクトリパスをherokuでのドキュメントルートに設定することは出来ない、ということでしょうか…。 重ねて申し訳ありませんが、herokuでのドキュメントルートは、初めにheroku上でプロジェクトを作成した時に設定するものでしょうか。
guest

0

ドキュメントルートの記述が/(ルート)から始まるフルパスになってないから、とかじゃ

投稿2019/11/09 20:50

y_waiwai

総合スコア87719

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

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

youth_k0228

2019/11/11 15:03

こんばんは。 返事が遅くなってしまい申し訳ありません。 ドキュメントルートを「/」から始まるフルパスで設定してみましたが、結果は変わりませんでした…。
y_waiwai

2019/11/11 22:03

で、その記述したフルパスのフォルダはきちんと存在してるでしょうか。 大文字小文字も含めてあってるのか確認してみよう
youth_k0228

2019/11/12 03:22

はい。 フルパスをコピペしましたので、フォルダは確かに存在しております。 重ねて失礼致しますが、「C:」は「/C」の表記で設定するものでしょうか。 追加の質問で大変恐縮ですが、よろしくお願い申し上げます。
y_waiwai

2019/11/12 04:04

環境はWindowsでしょうか なら、普通に C:/なんやかや/hogehoge ではどうでしょう
youth_k0228

2019/11/12 07:28

はい。 環境はWindows10です。 ProcfileとDOC_ROOTをこちらに設定してみます。
youth_k0228

2019/11/12 14:58

こんばんは。 DOC_ROOTをフルパスに設定し、composer.jsonを入れ直したら、「vendor/bin/heroku-php-apache: No such file or directory」と出てしまいました...。
y_waiwai

2019/11/12 15:00

他のところにエラーが出てるんでは
youth_k0228

2019/11/12 15:56

すみません、vendorフォルダの位置が正しくなかったようなので、改めて調査し、修正致します。
youth_k0228

2019/11/19 01:18

お久しぶりです。 vendorやcomposer.json、Procfileのディレクトリを変えてみたり、Procfile内やDOC_ROOTのパスのスペルやディレクトリセパレータを見直し修正を行いましたが、結果は変わりませんでした…。 Procfileやcomposer.json以外に追加しなければならないファイルや、vendor内のファイルで設定を弄った方が良いもの等はありますか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問