PHPackages                             aisuvro/laravel-storage-linker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. aisuvro/laravel-storage-linker

ActiveLibrary[File &amp; Storage](/categories/file-storage)

aisuvro/laravel-storage-linker
==============================

A Laravel package to create symbolic links for storage disks with interactive selection

1.1.1(10mo ago)3172MITPHPPHP ^8.1

Since Jun 20Pushed 10mo agoCompare

[ Source](https://github.com/aisuvro/laravel-storage-linker)[ Packagist](https://packagist.org/packages/aisuvro/laravel-storage-linker)[ RSS](/packages/aisuvro-laravel-storage-linker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

Laravel Storage Linker
======================

[](#laravel-storage-linker)

[![Latest Version](https://camo.githubusercontent.com/a89e7b105ed96f5df779c957a407096e8ba56f262655c3fdbcfec50cf634dd47/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e302e312d626c75652e737667)](https://github.com/aisuvro/laravel-storage-linker)[![PHP Version](https://camo.githubusercontent.com/f706593f1d1948670f61b584a86071133a7fa3a3c55750ea77a68d8772e43c80/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e312d3738374342352e737667)](https://php.net)[![Laravel Version](https://camo.githubusercontent.com/994593a9ff79d67018df50483d86b82e31d89127451c57e5ee5b9a33171a2ce8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d253545392e3025374325354531302e3025374325354531312e3025374325354531322e302d4646324432302e737667)](https://laravel.com)

A Laravel package that provides an interactive way to create symbolic links for all your storage disks with local drivers.

Recent Updates (v1.0.1)
-----------------------

[](#recent-updates-v101)

🔧 **Fixed**: Resolved symbolic link creation issues by replacing hard link creation with proper symbolic links using native PHP `symlink()` function.

Features
--------

[](#features)

- 🔗 Interactive symlink creation with disk selection
- 📋 Display all available local disks in a table format
- ⚡ Create symlinks for all local disks with `--all` flag
- 🗑️ Remove existing symlinks with `--remove` flag
- 🔄 Force recreation of existing symlinks with `--force` flag
- ✅ Real-time symlink status checking
- 🛡️ Safe error handling and validation

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require aisuvro/laravel-storage-linker
```

The package will automatically register itself via Laravel's package discovery feature.

Usage
-----

[](#usage)

### Interactive Mode

[](#interactive-mode)

Run the command without any flags to see all available local disks and select which ones to link:

```
php artisan storage:link-all
```

This will show you a table with:

- Disk name
- Root path
- Current symlink status

You can then select one or multiple disks to create symlinks for.

### Create All Symlinks

[](#create-all-symlinks)

To create symlinks for all local disks at once:

```
php artisan storage:link-all --all
```

### Remove Symlinks

[](#remove-symlinks)

To remove all existing symlinks:

```
php artisan storage:link-all --remove
```

### Force Recreation

[](#force-recreation)

To force recreation of symlinks (even if they already exist):

```
php artisan storage:link-all --all --force
```

How It Works
------------

[](#how-it-works)

The package scans your `config/filesystems.php` file for all disks with the `local` driver and creates symbolic links in the `public/storage/{disk-name}` directory pointing to the disk's root path.

### Example

[](#example)

If you have these disks configured:

```
// config/filesystems.php
'disks' => [
    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],
    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
    ],
    'uploads' => [
        'driver' => 'local',
        'root' => storage_path('app/uploads'),
    ],
    's3' => [
        'driver' => 's3',
        // ... s3 config (will be ignored)
    ],
],
```

The package will create:

- `public/storage/local` → `storage/app`
- `public/storage/public` → `storage/app/public`
- `public/storage/uploads` → `storage/app/uploads`

The S3 disk will be ignored since it's not a local driver.

Requirements
------------

[](#requirements)

- PHP ^8.1
- Laravel ^9.0|^10.0|^11.0|^12.0

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

If you discover a security vulnerability, please send an e-mail to .

Credits
-------

[](#credits)

- [Md. Al Imran Suvro](https://github.com/aisuvro)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance53

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

326d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/229412a8f56efaa3841dfec75256ff781fc76bd0bd5996526b24cd8d960ddae1?d=identicon)[aisuvro](/maintainers/aisuvro)

---

Top Contributors

[![aisuvro](https://avatars.githubusercontent.com/u/2842856?v=4)](https://github.com/aisuvro "aisuvro (5 commits)")

---

Tags

filesystemlaravelstoragesymlinkdisk

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/aisuvro-laravel-storage-linker/health.svg)

```
[![Health](https://phpackages.com/badges/aisuvro-laravel-storage-linker/health.svg)](https://phpackages.com/packages/aisuvro-laravel-storage-linker)
```

###  Alternatives

[sausin/laravel-ovh

OVH Object Storage driver for laravel

40153.5k](/packages/sausin-laravel-ovh)[zing/laravel-flysystem-obs

Flysystem Adapter for OBS

1211.2k](/packages/zing-laravel-flysystem-obs)[innoge/laravel-rclone

A sleek PHP wrapper around rclone with Laravel-style fluent API syntax

174.1k](/packages/innoge-laravel-rclone)[yoelpc4/laravel-cloudinary

Laravel Cloudinary filesystem cloud driver.

3343.0k](/packages/yoelpc4-laravel-cloudinary)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
