Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Storage in laravel says symlink - no such file

Tags:

php

laravel

I deployed laravel app on shared hosting in public_html/app folder. Here is everything from public folder. In /../../files I have rest of files. When I do php artisan storage:link in files folder my console says

[ErrorException]                         symlink(): No such file or directory 

On localhost I upload files to storage/uploads folder. What to do now? I tried to change links but nothing works for me...

like image 803
Programmmereg Avatar asked Nov 21 '17 09:11

Programmmereg


People also ask

How do I reconnect storage in Laravel?

Steps: cd to your <project_root>/public directory and run rmdir storage - it will remove the link. cd back to project root directory and run php artisan storage:link to link again.

What is symlink in Laravel?

Laravel Symbolic link is used to link storage/app/public directory with the public directory. The easiest way to understand Symbolic link is to think a folder shortcut which we usually create in Windows. So if we add/edit/delete anything in the shortcut folder it will also reflect on the main folder and vice versa.

Is a symlink a file?

A symlink (also called a symbolic link) is a type of file in Linux that points to another file or a folder on your computer. Symlinks are similar to shortcuts in Windows. Some people call symlinks "soft links" – a type of link in Linux/UNIX systems – as opposed to "hard links."

Where is storage folder in Laravel?

Laravel's filesystem configuration file is located at config/filesystems.php . Within this file, you may configure all of your filesystem "disks". Each disk represents a particular storage driver and storage location.


1 Answers

  1. Go to /public directory and run:

    rm storage

  2. Go to Laravel root directory and run:

    php artisan storage:link


Edited on May 1st 2018

This problem comes when laravel project is moved/copied to some other folder.

The storage link is still there thus causing the exception error. public/storage folder exists and points to wrong location and it needs to be deleted with rm storage command.

After that run php artisan storage:link in terminal and it will create the storage link.

This needs to be done EVERY time when laravel is moved/copied/deployed!

like image 191
Turan Zamanlı Avatar answered Oct 03 '22 04:10

Turan Zamanlı