Laravel在“存储/日志"处没有现有目录 [英] Laravel No Existing Directory at "storage/logs"

查看:305
本文介绍了Laravel在“存储/日志"处没有现有目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Docker上运行Laravel 5.7应用程序.我的容器开始正常运行,但是当我尝试在浏览器中运行该应用程序时,出现错误.

I want to run a Laravel 5.7 application with Docker. My containers start OK but when I try to run the app in the browser I get an error.

在以下位置没有现有目录 "/用户/用户/项目/laravel/应用程序/存储/日志",而不是 buildable:权限被拒绝

There is no existing directory at "/Users/user/projects/laravel/application/storage/logs" and its not buildable: Permission denied

我通过...更改了整个项目的权限.

I changed permissions for the whole project with...

sudo chmod -R 777 /Users/user/projects/laravel/application

但是,什么都没有改变.还有什么办法解决这个问题?

However, nothing changed. How else can this issue be solved?

这是docker-compose.xml文件

Here is docker-compose.xml file

version: '3'
services:
  web:
    image: nginx
    volumes:
    - "./vhosts.conf:/etc/nginx/conf.d/vhosts.conf"
    - "./application/public:/var/www/html/application/public"
    - "./:/var/www/html"
    - "./logs/nginx/error.log:/var/log/nginx/error.log"
    - "./logs/nginx/access.log:/var/log/nginx/access.log"
    ports:
    - "8000:80"
    environment:
    - NGINX_HOST=ld2.web
    restart: always
    depends_on:
    - php
  php:
    image: php:7.2-fpm
    restart: always
    volumes:
    - "./application/storage/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
    - "./application/public:/var/www/html/application/public"
    - "./:/var/www/html"

这是 ls -ls应用程序

drwxrwxrwx  26 user  staff     832 Oct 24 14:50 .
drwxrwxrwx   8 user  staff     256 Oct 24 01:06 ..
-rwxrwxrwx   1 user  staff     213 Sep  4 16:12 .editorconfig
-rwxrwxrwx   1 user  staff     704 Oct 24 00:38 .env
-rwxrwxrwx   1 user  staff     655 Sep  4 16:12 .env.example
-rwxrwxrwx   1 user  staff     111 Sep  4 16:12 .gitattributes
-rwxrwxrwx   1 user  staff     177 Sep  4 16:12 .gitignore
drwxrwxrwx   7 user  staff     224 Sep  4 16:12 app
-rw-r--r--   1 user  staff       0 Oct 24 14:56 application.txt
-rwxrwxrwx   1 user  staff    1686 Sep  4 16:12 artisan
drwxrwxrwx   4 user  staff     128 Sep  4 16:12 bootstrap
-rwxrwxrwx   1 user  staff    1527 Sep  4 16:12 composer.json
-rwxrwxrwx   1 user  staff  148959 Oct 24 00:35 composer.lock
drwxrwxrwx  15 user  staff     480 Sep  4 16:12 config
drwxrwxrwx   6 user  staff     192 Sep  4 16:12 database
-rwxrwxrwx   1 user  staff    1022 Sep  4 16:12 package.json
-rwxrwxrwx   1 user  staff    1134 Sep  4 16:12 phpunit.xml
drwxrwxrwx  10 user  staff     320 Sep  4 16:12 public
-rwxrwxrwx   1 user  staff    3924 Sep  4 16:12 readme.md
drwxrwxrwx   6 user  staff     192 Sep  4 16:12 resources
drwxrwxrwx   6 user  staff     192 Sep  4 16:12 routes
-rwxrwxrwx   1 user  staff     563 Sep  4 16:12 server.php
drwxrwxrwx   6 user  staff     192 Oct 24 01:20 storage
drwxrwxrwx   6 user  staff     192 Sep  4 16:12 tests
drwxrwxrwx  40 user  staff    1280 Oct 24 00:41 vendor
-rwxrwxrwx   1 user  staff     537 Sep  4 16:12 webpack.mix.js

ls -la应用程序/存储

drwxrwxrwx   6 user  staff  192 Oct 24 01:20 .
drwxrwxrwx  27 user  staff  864 Oct 24 15:44 ..
drwxrwxrwx   4 user  staff  128 Sep  4 16:12 app
drwxrwxrwx   7 user  staff  224 Sep  4 16:12 framework
drwxrwxrwx   2 user  staff   64 Oct 24 01:20 logs
drwxrwxrwx   3 user  staff   96 Oct 24 00:43 php

推荐答案

似乎配置中的APP_LOG_FILE引用了主机的日志文件路径(即/Users/user/projects/laravel/application/storage/logs),并设置为绝对路径,但在容器内部,该路径是不同的,实际上是/var/www/html/application/storage/logs.您可以在.env中更改它,然后重试吗?

Seems that your APP_LOG_FILE in the config references the logfile path for your host machine (i.e. /Users/user/projects/laravel/application/storage/logs) and set as absolute path, but inside your containter the path is different and in fact is /var/www/html/application/storage/logs. Can you change it in the .env and try again?

这篇关于Laravel在“存储/日志"处没有现有目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆