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

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

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

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

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

1731閲覧

dockerを起動してlocalhostにアクセスするとファイルがダウンロードされる(Laravel)

hiroki88

総合スコア66

Laravel

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

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

PHP

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/09/27 16:27

編集2020/09/28 15:32

dockerを使用しlaravelの構築を行っております。
サーバーはnginxを使用しております。
元々localhostに接続はできていたのですが、設定ファイルを変更する為に
一度コンテナを削除して再作成してlocalhostに接続してみたところ
ダウンロード.txtファイルがダウンロードされ画面が表示されなくなってしまいました。
ダウンロード.txtの中身は下記の内容となっております。

txt

1<?php 2 3/** 4 * Laravel - A PHP Framework For Web Artisans 5 * 6 * @package Laravel 7 * @author Taylor Otwell <taylor@laravel.com> 8 */ 9 10define('LARAVEL_START', microtime(true)); 11 12/* 13|-------------------------------------------------------------------------- 14| Register The Auto Loader 15|-------------------------------------------------------------------------- 16| 17| Composer provides a convenient, automatically generated class loader for 18| our application. We just need to utilize it! We'll simply require it 19| into the script here so that we don't have to worry about manual 20| loading any of our classes later on. It feels great to relax. 21| 22*/ 23 24require __DIR__.'/../vendor/autoload.php'; 25 26/* 27|-------------------------------------------------------------------------- 28| Turn On The Lights 29|-------------------------------------------------------------------------- 30| 31| We need to illuminate PHP development, so let us turn on the lights. 32| This bootstraps the framework and gets it ready for use, then it 33| will load up this application so that we can run it and send 34| the responses back to the browser and delight our users. 35| 36*/ 37 38$app = require_once __DIR__.'/../bootstrap/app.php'; 39 40/* 41|-------------------------------------------------------------------------- 42| Run The Application 43|-------------------------------------------------------------------------- 44| 45| Once we have the application, we can handle the incoming request 46| through the kernel, and send the associated response back to 47| the client's browser allowing them to enjoy the creative 48| and wonderful application we have prepared for them. 49| 50*/ 51 52$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); 53 54$response = $kernel->handle( 55 $request = Illuminate\Http\Request::capture() 56); 57 58$response->send(); 59 60$kernel->terminate($request, $response); 61

内容としてはvendor/autoload.phpがないよみたいなことを言っていると思い
PHPコンテナの中でcomposer updateでvendor/autoload.phpを作成したのですが
変わらず困っております。
原因が分かる方がいたらご教示お願いいたします。
下記にnginxのdefault.confを追記致しました。

nginx

1server { 2 listen 80; 3 index index.php index.html; 4 root /var/www/public; 5 6 location / { 7 root /var/www/public; 8 index index.html index.php; 9 try_files $uri $uri/ /index.php?$query_string; 10 } 11 12 location ~ .php$ { 13 14 try_files $uri =404; 15 fastcgi_split_path_info ^(.+.php)(/.+)$; 16 fastcgi_pass php:9000; 17 fastcgi_index index.php; 18 include fastcgi_params; 19 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 20 fastcgi_param PATH_INFO $fastcgi_path_info; 21 } 22 }

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

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

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

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

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

hiroki88

2020/09/28 15:21

ダウンロード.txt内の文章でrequire __DIR__.'/../vendor/autoload.php';という箇所があり調べた時に vendor/autoload.phpがない為installする必要があるという記事を見かけました
guest

回答2

0

自己解決

コンテナを何度か再起動したら直りました。
正直原因が何かは分かっていません。

投稿2020/11/12 08:23

hiroki88

総合スコア66

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

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

0

phpファイルにアクセスした際にファイルダウンロードになる現象は、phpのアクセス設定ができていないケースによくあります。
nginxでのphp設定は正常にできていますか?
nginxのconf設定を貼り付けたほうが、原因特定がしやすいかもしれませんね。

投稿2020/09/28 01:42

geta

総合スコア241

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

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

hiroki88

2020/09/28 15:33

ただいまnginxのdefault.confを追記させていただきました。 教えて頂いた観点で調べてみます。
geta

2020/09/28 22:14

確認ですが、php(またはphp-fpm)はちゃんとインストールされていますよね? phpのモジュール名が"php"になってますが、バージョンが付加されてインストールされているようなケースもあるので、/etc/php.d/か、/etc/php-fpm.d/の階層が存在することを確認してみてください。 他にもphpの設定が原因であることも考えられるので、現時点の情報ではなかなか返答が難しいかもしれませんね。
hiroki88

2020/09/29 17:15

etcフォルダの場所はLaravelプロジェクトを作成した際に成形されるフォルダ内にありますか? 探してみたのですが見当たらず...
geta

2020/10/01 23:18

nginxのconfファイルもetcフォルダ配下にありませんか? linuxの/etcの話をしているのですが、環境がよくわからないので、明記した方がいいですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問