Comment créer un lien symbolique dans Laravel sur Hostinger : Guide étape par étape

Par Devinsto
Posté le 18 novembre 2025
Mis à jour le 3 novembre 2026
11 min de lecture
414 vues

Prérequis

  1. Connaissances de base en PHP et Laravel :

    • Compréhension des concepts fondamentaux de PHP.

    • Familiarité avec le framework Laravel, y compris la structure des fichiers et les routes.

  2. Accès à un compte d'hébergement mutualisé :

    • Avoir un compte actif sur Hostinger ou un autre hébergeur mutualisé.

    • Accès au gestionnaire de fichiers ou à un client FTP pour manipuler les fichiers.

  3. Configuration de l'environnement :

    • Avoir une installation de Laravel fonctionnelle sur votre serveur.

    • Vérification que les permissions des dossiers sont correctement configurées pour permettre la création de liens symboliques.

  4. Navigateur web :

    • Utiliser un navigateur pour tester les routes créées et vérifier les résultats.


Public Cible

  1. Développeurs débutants à intermédiaires :

    • Ceux qui commencent à utiliser Laravel et souhaitent comprendre comment gérer les fichiers et les liens symboliques sur un hébergement mutualisé.

  2. Propriétaires de sites web :

    • Les utilisateurs qui gèrent leurs propres sites web sur Hostinger et ont besoin d'implémenter des fonctionnalités spécifiques de Laravel.

  3. Étudiants en développement web :

    • Les étudiants qui apprennent Laravel et PHP et qui cherchent des exemples pratiques d'utilisation sur un hébergement mutualisé.

  4. Freelancers et petites entreprises :

    • Les freelances ou propriétaires de petites entreprises qui créent des applications web avec Laravel et qui ont besoin d'une solution simple pour gérer le stockage de fichiers sur un hébergement partagé.

Étape 1 : Supprimer le dossier public/storage

Dans votre gestionnaire de fichiers Hostinger :

  1. Ouvrez le dossier public_html.

  2. Vérifiez s'il y a un dossier storage.

  3. SI OUI → supprimez-le entièrement.

⚠ Remarque : Laravel NE PEUT PAS créer un symlink si un dossier existe déjà, ce qui entraîne l'erreur "No such file or directory".

Étape 2 : Créer une route pour exécuter php artisan storage:link

Ajoutez le code suivant dans routes/web.php :

Route::get('/linkstorage', function () {
    try {
        \Illuminate\Support\Facades\Artisan::call('storage:link');
        return "✔️ Lien symbolique créé avec succès !";
    } catch (\Exception $e) {
        return "❌ Erreur : " . $e->getMessage();
    }
});

Redeployer votre application web. Ensuite, ouvrez dans votre navigateur :

https://ton-domaine.com/linkstorage

Cela exécutera automatiquement la commande artisan storage:link.

Le resultat : ✔ Lien symbolique créé avec succès !
➡ C'est la méthode recommandée pour Hostinger sans SSH.

Si cela affiche une erreur ❌ → passez à l’ÉTAPE 3.


Étape 3 : Créer le symlink manuellement en PHP (compatible Hostinger)

Collez ce code TEMPORAIREMENT dans routes/web.php :

Route::get('/linkstorage-manual', function () {
    $target = storage_path('app/public'); // → dossier réel
    $link = public_path('storage');       // → lien dans public_html

    if (!file_exists($target)) {
        return "❌ Le dossier cible n'existe pas : $target";
    }

    if (file_exists($link)) {
        return "❌ Le dossier/lien public/storage existe déjà. Supprimez-le puis réessayez.";
    }

    symlink($target, $link);

    return "✔️ Symlink créé : $link → $target";
});

Puis visitez :

https://ton-domaine.com/linkstorage-manual

✔ Ceci fonctionne sur Hostinger tant que les chemins sont corrects.


Étape 4 : Vérifier les chemins réels

Si ça échoue encore, voici la vérification automatique. Collez ceci dans routes/web.php :

Route::get('/debug-path', function () {
    return [
        'base_path' => base_path(),
        'public_path' => public_path(),
        'storage_path' => storage_path(),
        'storage_public' => storage_path('app/public'),
    ];
});

Visitez :

https://ton-domaine.com/debug-path

Résumé

Étape

Action

1

Supprimer public/storage

2

Tester /linkstorage (artisan)

3

Tester /linkstorage-manual (symlink direct)

4

Si encore erreur → /debug-path pour obtenir les chemins exacts

N'hésitez pas à me faire savoir en commentaire si vous avez besoin de plus d'aide !

Application d'un projet en ligne pour envoyer le partenariat et insérer le logo d'entreprise

Je vous présente un projet de démonstration que j'ai appliqué pour vous donner un retour sur l'article concernant l'envoi de partenariats et l'insertion du logo d'entreprise. Vous pouvez consulter le projet à l'adresse suivante : https://laravel.cfpcanadienne.com/

Ajouter un commentaire

Vous devez être connecté pour laisser un commentaire.

Avatar
WAFFO LELE ROSTAND
il y a 11 mois

la méthode recommandée pour Hostinger sans SSH : Étape 1 & 2, fonctionne parfaitement dans mon cas : https://laravel.cfpcanadienne.com/