0
0
LaravelHow-ToBeginner · 3 min read

How to Create Symbolic Link in Laravel: Step-by-Step Guide

In Laravel, create a symbolic link by running the php artisan storage:link command. This links the public/storage directory to storage/app/public, allowing public access to storage files.
📐

Syntax

The command to create a symbolic link in Laravel is:

  • php artisan storage:link - This creates a link from public/storage to storage/app/public.

This command uses Laravel's built-in artisan tool to manage the link automatically.

bash
php artisan storage:link
Output
The [public/storage] directory has been linked.
💻

Example

This example shows how to create the symbolic link so that files stored in storage/app/public are accessible via the web through public/storage.

bash
cd your-laravel-project
php artisan storage:link
Output
The [public/storage] directory has been linked.
⚠️

Common Pitfalls

Common mistakes when creating symbolic links in Laravel include:

  • Running the command without proper permissions, causing failure to create the link.
  • Trying to access files before the link is created, resulting in 404 errors.
  • Deleting or moving the storage/app/public folder after linking, which breaks the link.

Always ensure your web server user has permission to create symbolic links and access the linked directories.

bash
Wrong: Accessing files before running the command

Right:
php artisan storage:link
📊

Quick Reference

Summary tips for creating symbolic links in Laravel:

  • Run php artisan storage:link once after setting up your project.
  • Ensure storage/app/public exists and contains your files.
  • Check permissions if the link creation fails.
  • Use the link to serve user-uploaded files publicly.

Key Takeaways

Use php artisan storage:link to create the symbolic link in Laravel.
The link connects public/storage to storage/app/public for public file access.
Ensure correct permissions to avoid link creation errors.
Create the link before trying to access storage files via the web.
Keep the storage directory intact to maintain the link functionality.