0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Laravel】Docker環境で「File not found」の時は「default.conf」ファイルをチェック!

Last updated at Posted at 2023-12-09

はじめに

Docker環境でのLaravelプロジェクト作成時、画面に「File not found」とエラーが表示されてしまいました。

この問題を解決するためには、「default.conf」内のルーティングを確認します。

環境

Docker version 24.0.7
Laravel v9.52.16 (PHP v8.2.7)

問題

$ docker compose exec php bash
$ composer create-project --prefer-dist "laravel/laravel=" .

ターミナルからDockerのPHPコンテナ内でLaravelプロジェクトを作成します。

そしてローカルホストにアクセスし、動作確認をしてみると…

6e293b87bc0825746e74164d977a7352.png

「File not found(ファイルが見つかりません)」と言われてしまいました。

解決法

container/web/default.conf(間違い)
server {
    listen 80;
    listen [::]:80;

    root /var/www/html/public; // ルート設定
    index index.php; // 読み取るファイル名

    //以下略

上記default.confファイル内で、index.phpを読み込んでもらうためのルート設定が間違っていました。

fe89d3b0d7b864a8a972e688ec651dd2.png

ディレクトリ構造は上記のようになっているので、publicの前のnichが抜けています。

container/web/default.conf(正しい)
server {
    listen 80;
    listen [::]:80;

    root /var/www/html/nich/public; // "nich"を付け足す
    index index.php; 

    //以下略

「その上位のsrcは入れなくていいの?」と思う方もいるかもしれません。

しかし正しくは上記通り「/var/www/html/nich/public」となります。

というのもphp/Dockerfile内で、以下のようにカレントディレクトリが設定されているためだと思われます。

container/php/Dockerfile
# コンテナ内で作業する際のカレントディレクトリの指定
WORKDIR /var/www/html

よって、自分の場合はこれに「nich/public」と付け足すことで、無事に解決することができました。

8305cd55447cffb32fba33ed2d5291f4.png

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?