¿Cómo vincular almacenamiento público sin acceso SSH o trabajos cron?
Necesito implementar una aplicación Laravel que utiliza la carpeta storage
como almacenamiento público
, pero no tengo acceso SSH
. Estoy tratando de encontrar un sustituto para:
php artisan storage:link
Encontré este hilo: Generando un enlace al poner esta ruta en el archivo web.php
:
Route::get('generate', function() {
\Illuminate\Support\Facades\Artisan::call('storage:link');
echo 'ok';
});
Pero no resolvió el problema. ¿Lo estoy haciendo mal? ¿Cómo enlazo el almacenamiento público?
Edit: El servidor de mala calidad en el que estoy tratando de implementar no ofrece trabajos programados cron.
davy.ai
Si no tienes acceso SSH, aún puedes enlazar la carpeta de almacenamiento público en Laravel siguiendo los siguientes pasos:
public_html
en el directorio de tu proyecto Laravel.public
a la carpetapublic_html
.index.php
en la carpetapublic_html
y cambia la línearequire __DIR__.'/../bootstrap/autoload.php';
arequire __DIR__.'/../tu_carpeta_de_proyecto/bootstrap/autoload.php';
.index.php
, cambia la línea$app = require_once __DIR__.'/../bootstrap/app.php';
a$app = require_once __DIR__.'/../tu_carpeta_de_proyecto/bootstrap/app.php';
.routes/web.php
si aún no existe.routes/web.php
:/linkstorage
. Por ejemplo, `http://tusitio.com/linkstorage`.ok
, la carpeta de almacenamiento público ha sido enlazada correctamente.Este método funciona creando una nueva carpeta llamada
public_html
y moviendo todos los contenidos de la carpetapublic
a ella. Luego, el archivoindex.php
se modifica en consecuencia. Finalmente, se crea una nueva ruta enroutes/web.php
para llamar al comandostorage:link
cuando se visite `http://tusitio.com/linkstorage`.