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

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

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

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

Laravel

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

PHP

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

Q&A

解決済

1回答

323閲覧

Herokuにアップしたがトップページがサーバーエラーになります。

Java_student

総合スコア62

Heroku

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

Laravel

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

PHP

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

0グッド

0クリップ

投稿2023/12/03 01:29

編集2023/12/04 02:02

実現したいこと

Herokuに作成したLaravelプロジェクトをアップしたのですが、サーバーエラーによって表示されませんでした。
テスト環境では表示されるのですが、本番環境では表示されませんでした。
ルーティングが本番環境では変わる事はあるのでしょうか?

前提

デプロイ・マイグレーションは共に成功しています。
seedも成功しています。

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

500 SERVER ERROR

該当のソースコード

web.php

1<?php 2 3use Illuminate\Support\Facades\Route; 4use App\Http\Controllers\PostController; //投稿機能 5use App\Models\Post; 6 7Route::get('/', function () { 8 $posts = Post::orderBy('id', 'desc')->get(); 9 $user = Auth::user(); 10 return view('home', compact('posts', 'user')); 11 //return view('welcome'); 12}); 13 14//Sass(デザイン) 15URL::forceScheme('https'); 16 17//ユーザー 18Auth::routes(); 19Route::get('/user/{id}/regulation', [App\Http\Controllers\UserController::class, 'regulation'])->name('user.regulation'); 20Route::post('/user/{id}/regulation', [App\Http\Controllers\UserController::class, 'regulation'])->name('user.regulation'); 21Route::get('/user/{id}/cancell_regulation', [App\Http\Controllers\UserController::class, 'cancell_regulation'])->name('user.cancell_regulation'); 22Route::post('/user/{id}/cancell_regulation', [App\Http\Controllers\UserController::class, 'cancell_regulation'])->name('user.cancell_regulation'); 23Route::resource('user', App\Http\Controllers\UserController::class); 24 25//サインアップ・ログイン後の遷移 26Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home'); 27 28//お問い合わせフォーム 29//入力ページ 30Route::get('/contact', [App\Http\Controllers\ContactController::class, 'index'])->name('contact.index'); 31 32//確認ページ 33Route::post('/contact/confirm', [App\Http\Controllers\ContactController::class, 'confirm'])->name('contact.confirm'); 34 35//送信完了ページ 36Route::post('/contact/thanks', [App\Http\Controllers\ContactController::class, 'send'])->name('contact.send'); 37 38//投稿 39Route::resource('post', App\Http\Controllers\PostController::class); 40 41//投稿を押した時 42Route::post('/post', [App\Http\Controllers\PostController::class, 'store'])->name('post.store'); 43 44//チェッカー機能 45Route::resource('check', App\Http\Controllers\CheckController::class); 46Route::post('/checks', [App\Http\Controllers\CheckController::class, 'store'])->name('check.store'); 47Route::get('/checks/{id}', [App\Http\Controllers\CheckController::class, 'show'])->name('check.show');

views/layouts/app.php

1<!doctype html> 2<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 7 <!-- CSRF Token --> 8 <meta name="csrf-token" content="{{ csrf_token() }}"> 9 10 <title>{{ config('app.name', 'Laravel') }}</title> 11 <link rel="shortcut icon" href="{{ asset('image/logo2.png') }}"> 12 <!-- Fonts --> 13 <link rel="dns-prefetch" href="//fonts.bunny.net"> 14 <link href="https://fonts.bunny.net/css?family=Nunito" rel="stylesheet"> 15 16 <!-- google関連 --> 17 <link rel="stylesheet" href="css/bootstrap-social.css"> 18 <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"> 19 <script src="https://apis.google.com/js/platform.js" async defer></script> 20 21 <!--css--> 22 <link href="{{ asset('/css/app.css') }}" rel="stylesheet"> 23 <link href="{{ asset('/css/home.css') }}" rel="stylesheet"> 24 <link href="{{ asset('/css/post.css') }}" rel="stylesheet"> 25 <link href="{{ asset('/css/user.css') }}" rel="stylesheet"> 26 <link href="{{ asset('/css/register.css') }}" rel="stylesheet"> 27 <link href="{{ asset('/css/contact.css') }}" rel="stylesheet"> 28 29 <!-- Scripts --> 30 @vite(['resources/sass/app.scss', 'resources/js/app.js']) 31</head> 32<body class="body" style="background: black;"> 33 <div class="app"> 34 <nav class="navbar navbar-expand-md navbar-light shadow-sm"> 35 <div class="container"> 36 <div class="spod-logo"> 37 <a class="navbar-brand" href="{{ url('/') }}"> 38 <img src="{{ asset('image/logo.png')}}"> 39 </a> 40 </div> 41 <div class="search-form"> 42 <form action="{{ route('post.index') }}" method="GET"> 43 <input type="text" name="keyword" value="{{ $keyword??"" }}" class="search-bar"> 44 <input type="submit" value="検索" class="search-btn"> 45 </form> 46 </div> 47 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> 48 <span class="navbar-toggler-icon"></span> 49 </button> 50 51 <div id="navbarSupportedContent"> 52 <!-- Left Side Of Navbar --> 53 <ul class="navbar-nav me-auto"> 54 55 </ul> 56 57 <!-- Right Side Of Navbar --> 58 <ul class="navbar-nav ms-auto"> 59 <!-- Authentication Links --> 60 @guest 61 @if (Route::has('login')) 62 <li class="nav-item"> 63 <a class="nav-link" href="{{ route('login') }}">{{ __('ログイン') }}</a> 64 </li> 65 @endif 66 67 @if (Route::has('register')) 68 <li class="nav-item"> 69 <p><a class="nav-link" href="{{ route('register') }}">{{ __('アカウント登録') }}</a></p> 70 </li> 71 @endif 72 @else 73 <li class="nav-item dropdown"> 74 <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> 75 {{ Auth::user()->name }} 76 </a> 77 78 <div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown"> 79 @if($user->admin == true) 80 <a href="{{ route('user.index') }}" class="dropdown-item">ユーザー一覧</a> 81 @else 82 <a href="{{ route('user.index') }}" class="dropdown-item">チェッカー配信</a> 83 @endif 84 <a href="{{ route('user.show', $user->id) }}" class="dropdown-item">マイページ</a> 85 <a href="{{ route('post.create') }}" class="dropdown-item">アップロード</a> 86 <a href="{{ route('user.edit', $user->id) }}" class="dropdown-item">設定</a> 87 <a class="dropdown-item" href="{{ route('logout') }}" 88 onclick="event.preventDefault(); 89 document.getElementById('logout-form').submit();"> 90 {{ __('ログアウト') }} 91 </a> 92 93 <form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none"> 94 @csrf 95 </form> 96 </div> 97 </li> 98 @endguest 99 </ul> 100 </div> 101 </div> 102 </nav> 103 104 <main class="py-4"> 105 <div class='wrap'> 106 @yield('content') 107 </div> 108 </main> 109 </div> 110 <footer> 111 <div class="footer-btn"> 112 <div class="contact-btn"> 113 <a href="{{ route('contact.index') }}" class="dropdown-item">お問い合わせ</a> 114 </div> 115 </div> 116 <p>© spod.2023.</p> 117 </footer> 118</body> 119</html> 120

試したこと

herokuからエラーログを見たいのですが、見方が分からないので現在、エラーログを確認でくる方法を調べています。

heroku に登録している情報

ec2-user:~/environment/******(master) $ heroku config › Warning: heroku update available from 7.69.1 to 8.7.1. === spod Config Vars DB_DATABASE: ************** DB_HOST: ********************************************************:3306 DB_PASSWORD: ************** DB_USERNAME: ************** JAWSDB_URL: mysql://**************:**************@******************************************/**************

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

php8
Laravel10

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

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

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

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

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

Java_student

2023/12/04 01:40

データベースはJawsDB MySQLを試用しています。
guest

回答1

0

ベストアンサー

heroku config:set LOG_CHANNEL=stderr などで環境変数をセットした上でログを確認してください。
よくあるのは APP_KEY が未設定、というものがあります

一時的にデバッグするのであれば、 APP_DEBUG などを有効にしても良いかと思います。

参考:
https://devcenter.heroku.com/ja/articles/php-logging#laravel

投稿2023/12/03 08:23

Eggpan

総合スコア3036

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

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

Java_student

2023/12/04 03:25

ありがとうございます。 トップページが表示されたのですが、更新(edit)・投稿(new/create)・お問い合わせ送信(new/create)などの後の遷移したページがサーバーエラーになるのですが、それは今回のと別件になりますか? その場合は再度、調べ直す必要があると思ったのですが
Eggpan

2023/12/04 04:55

エラー原因によるんじゃないですかね?まずはエラー内容を読みましょう。 何が原因で、どうやったらトップページのエラーが無くなったのかも私には分かりませんし、何ともいえません。
Java_student

2023/12/04 17:55

ありがとうございます。 調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.41%

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

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

質問する

関連した質問