Alterar o caminho de armazenamento no Laravel 5
Quero alterar o caminho de armazenamento que o Laravel 5.1 usa para algo como/home/test/storage
. Isso tem a vantagem de que esses arquivos não são armazenados no repositório, o que é bastante feio, eu acho. No Laravel 4, isso foi muito simples combootstrap/paths.php
.
No Laravel 5, isso funciona usando$app->useStoragePath('/path/')
nobootstrap/app.php
. No entanto, quero definir o caminho de armazenamento com uma opção de configuração, como$app->useStoragePath(config('app.storage_path')
. A opção de configuração chama uma variável de ambiente ou retorna um local padrão.
Fazer isso resulta em umUncaught exception 'ReflectionException' with message 'Class config does not exist'
; isso faz sentido, porque essa função ainda não está carregada.
Tentei definir o caminho de armazenamento logo após a inicialização:
$app->booted(function () use ($app) {
$app->useStoragePath(config('app.storage_root'));
});
Isso não mudou nada. Eu também tentei vinculá-lo diretamente aopath.storage
:
$app->bind('path.storage', function ($app) {
return config('app.storage_root');
});
A última opção funciona parcialmente; o cache da visualização agora está colocado no local correto, mas os logs ainda estão no local antigo.