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.
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?
Here is the docker-compose.yml 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"
Here is an output of ls -ls application
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 application/storage
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
To programmatically create a directory in Laravel storage you can make use of the "Storage" facade provided by Laravel. The method is "makeDirectory ()" and this accepts the path of the directory. Do note that it supports a nested path so you can go as deep as you want it to.
By default in laravel, storage file not having permission to show in the console (error shows from the error.log file). So the thing you need to fix is to fix compile file. which can be done thought this single command - Compiled views - Application cache - Route cache - Configuration cache
The main problem here is in the compiled file, and due to which laravel try to show an error. By default in laravel, storage file not having permission to show in the console (error shows from the error.log file). So the thing you need to fix is to fix compile file. which can be done thought this single command
I am using Laravel version 8 and I deployed the API on the Google Cloud App Engine. I followed the directions of this tutorial. I am trying to store a generated file in the /tmp folder and upload it to Google Cloud Storage. Please I have very little DevOps knowledge and I appreciate any help you can offer.
Try this command,
php artisan optimize:clear
If php artisan gives error then execute,
composer update
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With