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

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

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

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Apache

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

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

Q&A

解決済

1回答

666閲覧

[Heroku][Laravel]HerokuにてLaravelで開発したWebアプリを公開したい。→404|NotFound

saitou_san

総合スコア32

Heroku

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Apache

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

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

0グッド

0クリップ

投稿2023/07/02 08:47

編集2023/07/02 08:48

実現したいこと

HerokuにてLaravelで開発したWebアプリを公開したい。

前提

Webアプリのコードはここに載っています。
https://github.com/saitousan1127/example-app/actions/runs/5435497860/jobs/9884656403

プッシュ&コミット、デプロイまでは出来ました。

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

デプロイしたアプリにアクセスしてみても「404|NotFound」というページが表示されていしまう。
↓Application Logs

2023-07-02T08:24:11.489544+00:00 app[web.1]: DOCUMENT_ROOT changed to 'public/' 2023-07-02T08:24:11.539966+00:00 app[web.1]: Detected 536870912 Bytes of RAM 2023-07-02T08:24:11.562224+00:00 app[web.1]: PHP memory_limit is 128M Bytes 2023-07-02T08:24:11.570660+00:00 app[web.1]: Starting php-fpm with 4 workers... 2023-07-02T08:24:11.625176+00:00 app[web.1]: Starting httpd... 2023-07-02T08:24:12.172618+00:00 heroku[web.1]: State changed from starting to up 2023-07-02T08:25:19.454970+00:00 app[web.1]: 10.1.30.231 - - [02/Jul/2023:08:25:19 +0000] "GET / HTTP/1.1" 404 6603 "https://dashboard.heroku.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 2023-07-02T08:25:19.457824+00:00 heroku[router]: at=info method=GET path="/" host=masatweet-aaf0417ae442.herokuapp.com request_id=ab4fe904-2522-4113-8ebc-914a07ad7680 fwd="60.149.177.175" dyno=web.1 connect=1ms service=141ms status=404 bytes=6816 protocol=https 2023-07-02T08:25:19.785126+00:00 app[web.1]: 10.1.30.231 - - [02/Jul/2023:08:25:19 +0000] "GET /favicon.ico HTTP/1.1" 200 - "https://masatweet-aaf0417ae442.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 2023-07-02T08:25:19.787804+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=masatweet-aaf0417ae442.herokuapp.com request_id=64452317-569e-418f-848c-f4f4d5d74492 fwd="60.149.177.175" dyno=web.1 connect=0ms service=1ms status=200 bytes=231 protocol=https

githubのユニット・フィーチャーテストのところにもエラーが表示されてしまう。
イメージ説明

該当のソースコード

routes\web.php

php

1<?php 2 3use App\Http\Controllers\ProfileController; 4use Illuminate\Support\Facades\Route; 5 6/* 7|-------------------------------------------------------------------------- 8| Web Routes 9|-------------------------------------------------------------------------- 10| 11| Here is where you can register web routes for your application. These 12| routes are loaded by the RouteServiceProvider and all of them will 13| be assigned to the "web" middleware group. Make something great! 14| 15*/ 16 17Route::get('/', function () { 18 return view('welcome'); 19}); 20 21// Sample 22Route::get('/sample', [\App\Http\Controllers\Sample\IndexController::class,'show']); 23Route::get('/sample/{id}', [\App\Http\Controllers\Sample\IndexController::class,'showId']); 24 25 26// Tweet 27Route::middleware('auth')->group(function () { 28 Route::post('/tweet/create', \App\Http\Controllers\Tweet\CreateController::class) 29 ->name('tweet.create'); 30 Route::get('/tweet/update/{tweetId}', \App\Http\Controllers\Tweet\Update\IndexController::class) 31 ->name('tweet.update.index'); 32 Route::put('/tweet/update/{tweetId}', \App\Http\Controllers\Tweet\Update\PutController::class) 33 ->name('tweet.update.put'); 34 Route::delete('/tweet/delete/{tweetId}', \App\Http\Controllers\Tweet\DeleteController::class) 35 ->name('tweet.delete'); 36}); 37Route::get('/tweet', \App\Http\Controllers\Tweet\IndexController::class) 38->name('tweet.index'); 39 40 41Route::get('/dashboard', function () { 42 return view('dashboard'); 43})->middleware(['auth', 'verified'])->name('dashboard'); 44 45Route::middleware('auth')->group(function () { 46 Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); 47 Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); 48 Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); 49}); 50 51require __DIR__.'/auth.php'; 52

.github\workflows\phpunit.yml

yml

1name: Laravel 2 3on: 4 push: 5 pull_request: 6 7env: 8 DB_USERNAME: sail 9 DB_PASSWORD: password 10 MAIL_FROM_ADDRESS: info@example.com 11 12jobs: 13 phpunit: 14 15 runs-on: ubuntu-latest 16 17 services: 18 mysql.test: 19 image: 'mysql/mysql-server:8.0' 20 ports: 21 - 3306:3306 22 env: 23 MYSQL_DATABASE: 'example_app' 24 MYSQL_USER: ${{ env.DB_USERNAME }} 25 MYSQL_PASSWORD: ${{ env.DB_PASSWORD }} 26 MYSQL_ALLOW_EMPTY_PASSWORD: 1 27 options: >- 28 --health-cmd "mysqladmin ping" 29 --health-interval 10s 30 --health-timeout 5s 31 --health-retries 5 32 33 steps: 34 - uses: actions/checkout@v2 35 - name: Setup PHP 36 uses: shivammathur/setup-php@v2 37 with: 38 php-version: '8.1' 39 tools: composer:v2 40 - name: Copy .env 41 run: cp .env.example .env.testing 42 - name: Install Dependencies 43 if: steps.cache.outputs.cache-hit != 'true' 44 run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist 45 - name: Generate key 46 run: php artisan key:generate --env testing 47 - name: Set hostname 48 run: sudo echo "127.0.0.1 mysql.test" | sudo tee -a /etc/hosts 49 - name: Execute tests (Unit and Feature tests) via PHPUnit 50 run: vendor/bin/phpunit

package.json

json

1{ 2 "private": true, 3 "type": "module", 4 "scripts": { 5 "dev": "vite", 6 "build": "vite build", 7 "serve": "vite preview" 8 }, 9 "devDependencies": { 10 "@popperjs/core": "^2.11.6", 11 "@tailwindcss/forms": "^0.5.2", 12 "@vitejs/plugin-react": "^4.0.1", 13 "@vitejs/plugin-vue": "^4.2.3", 14 "alpinejs": "^3.4.2", 15 "autoprefixer": "^10.4.2", 16 "axios": "^1.1.2", 17 "bootstrap": "^5.2.3", 18 "laravel-vite-plugin": "^0.7.8", 19 "lodash": "^4.17.19", 20 "postcss": "^8.4.6", 21 "sass": "^1.56.1", 22 "tailwindcss": "^3.1.0", 23 "vite": "^4.3.9" 24 } 25} 26

vite.config.js

javascript

1import { defineConfig } from 'vite'; 2import laravel from 'laravel-vite-plugin'; 3 4export default defineConfig({ 5 plugins: [ 6 laravel({ 7 input: [ 8 'resources/css/app.css', 9 'resources/js/app.js', 10 ], 11 refresh: true, 12 }), 13 ], 14 server: { 15 hmr: { 16 host: 'localhost', 17 }, 18 }, 19});

試したこと

・ユニット・フィーチャーテストのファイルを削除した(削除済み)
・vite.config.jsのserver: {・・・}の部分を削除してデプロイしてみた(戻した)

他に試してほしいこと、参照したいファイルなどがございましたらコメントで教えてください。

補足情報(FW/ツールのバージョンなど)

Laravel Framework 10.13.5
VITE v4.3.9

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

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

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

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

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

guest

回答1

0

ベストアンサー

環境変数で APP_URL を設定してみてください。
TrustHostsミドルウェアが有効になっている場合、上記を正しく設定する必要があるはずです。

投稿2023/07/04 18:41

Eggpan

総合スコア3255

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問