La configuration minimale nécessaire pour faire fonctionner le projet :
PHP 8.4.13
développé avec mysql 8.0.3
==> si vous utilisez une version ancienne de mysql, vous pouvez avoir une erreur de gestion des chaines longues .
--> solution : allez dans le fichier /install/database.sql , remplacez tous les varchar(255) par varchar(191)
==> régler les problèmes de cache sur un serveur mutualisé si vous n'avez pas accès à un terminal
--> solution , créer un fichier clean.php avec le code suivant et déposez le à la racine de votre site :
<?php
// fichier clear.php à la racine
require __DIR__.'/core/vendor/autoload.php';
$app = require __DIR__.'/core/bootstrap/app.php';
$app->usePublicPath(__DIR__);
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$kernel->call('optimize:clear');
echo "Cache vidé avec succès !";
==> Lors de votre première utilisation, vous pouvez avoir des problèmes avec la sauvegarde des images dans votre profil ou dans les publications sur le forum ou dans les news/articles
--> sur un serveur mutualisé, le script ne trouve pas le répertoire où sont stockées vos images, la solution est de créer le script suivant , placez le dans un fichier nommé symlink.php à la racine de votre projet et appelez le directement : https//www.monsite.com/symlink.php .
Si le résultat est un succès, supprimez le fichier de votre serveur.
<?php
// force_link.php
// Méthode via commande système (Shell)
$target = __DIR__ . '/core/storage/app/public';
$link = __DIR__ . '/storage';
echo "Tentative de création via commande système (ln -s)...<br>";
// On supprime d'abord s'il existe
if (file_exists($link)) {
@unlink($link);
}
// On lance la commande Linux standard
// 1. On va dans le dossier racine
// 2. On crée le lien relatif (plus fiable)
$cmd = "cd " . escapeshellarg(__DIR__) . " && ln -s core/storage/app/public storage 2>&1";
$output = [];
$return_var = 0;
exec($cmd, $output, $return_var);
if ($return_var === 0) {
echo "✅ <b>Commande exécutée avec succès !</b><br>";
if (file_exists($link) && is_link($link)) {
echo "Le lien a été vérifié, c'est bien un lien symbolique.";
} else {
echo "Le fichier a été créé, testez l'URL pour vérifier.";
}
} else {
echo "❌ <b>Erreur :</b><br>";
echo implode("<br>", $output);
}
?>
Les autorisations en écriture sur votre serveur mutualisé doivent être mises à jour :
Le fichier sitemap.xml doit avoir les droits d'écriture 0777