J'essaie de trouver comment modifier l'emplacement de stockage par défaut (y compris ses sous-dossiers) sur un projet Lumen. Pour plusieurs raisons, étant donné la configuration actuelle du serveur web de production, Lumen lance une exception de permission refusée lorsqu'il essaie d'écrire des journaux. o compiler les vues de la lame.
La seule alternative, sans impliquer l'administrateur système, est de déplacer le dossier de stockage vers un dossier tmp sur le serveur web.
Sur Laravel, il semble y avoir une méthode appelée " useStoragePath ", mais il ne semble pas être disponible sur Lumen (5.2.x).
Les chemins par défaut semblent être "codés en dur", j'ai trouvé ceci :
Project\vendor\laravel\lumen-framework\src\Application.php
/**
* Get the storage path for the application.
*
* @param string|null $path
* @return string
*/
public function storagePath($path = null)
{
return $this->basePath().'/storage'.($path ? '/'.$path : $path);
}
Et pour les logs (même fichier) :
/**
* Get the Monolog handler for the application.
*
* @return \Monolog\Handler\AbstractHandler
*/
protected function getMonologHandler()
{
return (new StreamHandler(storage_path('logs/lumen.log'), Logger::DEBUG))
->setFormatter(new LineFormatter(null, null, true, true));
}
Conclusion : Existe-t-il un moyen propre de remplacer le chemin de stockage par défaut en tenant compte de ces restrictions ?
- Elle ne doit pas impliquer l'administrateur système (liens sym, modification des permissions, etc.).
- Ne pas altérer le dossier du vendeur.