Tengo un proyecto en Laravel 5 y trabajo con él en la oficina y también en casa. Funciona bien, pero recientemente en casa dejó de funcionar. Laravel me muestra dos ErrorException
file_put_contents(G:\project\storage\framework\views/751d8a0fd8a7d4138c09ceb6a34bb377aa2d6265.php):
failed to open stream: No such file or directory
y
file_put_contents(G:\project\storage\framework/sessions/aIXycR4LIAUBVIqZu0T590paOMIpV8vfZGIroEp0):
failed to open stream: No such file or directory
Estoy buscando una decisión de problema con Google y encuentro información sobre los derechos correctos. Todos los consejos son sobre Linux, pero también trabajo en Windows en la oficina y en casa.
Cuando trato de borrar el caché de la aplicación y ver el caché, el artesano me habla - ... borrado. Pero los datos y las vistas de la caché están presentes en el almacenamiento.
¿Como puedo solucionar este problema?
¡Gracias por adelantado!
Respuestas:
La mejor manera de resolver este problema es ir al directorio
laravel/bootstrap/cache
y eliminar elconfig.php
archivo. o puede cambiarle el nombreconfig.php.old
y su problema se solucionará. Feliz codificación :-)fuente
php artisan config:cache
reconstruirá las rutas para las aplicaciones. Cuando ejecutamos una aplicación dentro de la caja vagabunda, las rutas son diferentes a las rutas para las pruebas al anochecer, por ejemplo.Por lo general, debe ejecutar el
php artisan config:cache
comando como parte de su rutina de implementación de producción. Como solución a su problema, le sugiero que vuelva a crear el archivo de caché para una carga de configuración más rápida.Para hacer esto, ejecute los siguientes comandos de Artisan en su línea de comando
php artisan cache:clear
php artisan config:cache
Puede ejecutar el comando mediante programación agregando lo siguiente a sus rutas:
Route::get('/clear-cache', function() { $exitCode = Artisan::call('cache:clear'); $exitCode = Artisan::call('config:cache'); return 'DONE'; //Return anything });
Y luego llame a la
clear-cache
ruta desde su navegador.Espero que esto sea útil.
fuente
Después de algunas investigaciones, entiendo: tengo ubicaciones de proyectos raíz muy similares, pero diferentes, y está almacenado en caché
/bootstrap/cache
. Después de que comenzó el proyecto de limpieza de caché.fuente
En realidad, enfrenté este problema cuando moví mi proyecto del servidor al local.
en
Se requieren cuatro carpetas básicas caché, sesiones, pruebas, vistas
En mi caso, las sesiones que faltaban podrían estar en gitignore.
Así que creé manualmente la carpeta de sesión y actualicé el navegador y estaba funcionando.
Entonces, si eliminamos este problema, se puede resolver cualquier carpeta que falte.
fuente
Este tipo de problema generalmente ocurre al migrar un servidor a otro, una carpeta a otra. Laravel mantiene el caché y la configuración (nombre del archivo) cuando la carpeta es diferente, entonces ocurre este problema.
Solución Ejecute el siguiente comando:
https://laravel.com/docs/5.6/configuration#configuration-caching
fuente
Apache + WSL en Windows
Este es un error tonto, y una respuesta diferente en comparación con los demás, pero lo agregaré porque me pasó a mí.
Si usa WSL (linux bash en windows) para administrar su aplicación laravel, mientras usa su apache de Windows para ejecutar su servidor, entonces ejecutar cualquier comando de almacenamiento en caché en el wsl almacenará la ruta de Linux en lugar de la ruta de Windows a las sesiones y otras carpetas. .
Solución
Simplemente ejecute los comandos de borrado de caché en PowerShell, en lugar de en WSL.
Fue suficiente para mi.
fuente
php artisan config:cache
comando en Windows, mi Linux ya no cargaba las páginas web de la aplicación. Ir a la carpeta bootstrap / cache y eliminar el archivo config.php lo resolvió.Prueba con estos comandos que te han sido útiles con esos errores
ruta \ proyecto \ almacenamiento \ marco \ vistas ...
ruta \ proyecto \ almacenamiento \ marco / sesiones ...
fuente
En el caso de alojamiento compartido cuando no tiene acceso a la línea de comandos, simplemente navegue a la carpeta laravel / bootstrap / cache y elimine (o cambie el nombre) config.php y ¡ya está!
fuente
La mejor manera de resolver este problema es ir al directorio
laravel/bootstrap/cache
y eliminar todos los archivos de la caché.Para hacer esto, ejecute los siguientes comandos de Artisan en su línea de comando
1. php artisan config:clear
2. php artisan cache:clear
3. php artisan config:cache
En su panel o servidor, puede ejecutar comandos agregando lo siguiente a sus rutas:
Route::get('/clear-cache', function() { $run = Artisan::call('config:clear'); $run = Artisan::call('cache:clear'); $run = Artisan::call('config:cache'); return 'FINISHED'; });
Y luego llame a la
www.yourdomain.com/clear-cache
ruta desde su navegador.fuente
cambiar el nombre de /bootstrap/cache/config.php a config.php.old no funciona para mí ni borrar el caché con los comandos artisan
Y por alguna extraña razón, no puedo cambiar el permiso del propietario en los directorios, así que mi solución estaba ejecutando mi IDE (Visual Studio Code) como administrador, y todo funciona.
Mi proyecto está en una ruta F: / de otro disco.
fuente
Quizás haya un problema con su archivo de redacción. Tu podrías intentar:
composer update siempre regenera composer.lock e instala las últimas versiones de los paquetes disponibles basados en composer.json
composer dump-autoload no descargará nada. Simplemente regenera la lista de todas las clases que deben incluirse en el proyecto (autoload_classmap.php). Ideal para cuando tienes una nueva clase dentro de tu proyecto. Idealmente, ejecute composer dump-autoload -o, para una carga más rápida de sus páginas web. La única razón por la que no está predeterminado es porque se tarda un poco más en generar (pero solo se nota ligeramente)
fuente
fuente
La razón de este problema son los archivos de caché en localhost. De acuerdo con eso, he intentado varias cosas de la siguiente manera para borrar el caché de mi proyecto, pero cada vez he fallado.
Así que encontré una solución para este problema después de que todos y cada uno de los pasos anteriores fallaron y funcionó perfectamente para mí. He eliminado el cache.php archivo en host_route / bootstrap / cache directorio.
Creo que esta respuesta ayudará a su problema.
fuente
En mi caso, no fue nada que pudiera arreglarse con los comandos php artisan. El problema eran los permisos de carpeta para la carpeta / storage. El error no lo dejó claro.
fuente
Si está ejecutando laravel dentro de Docker, acceda a su sistema de archivos
A continuación, navegue hasta el directorio raíz de sus proyectos de laravel. Asegúrese de tener dentro de la carpeta de almacenamiento / marco :
Y deben ser legibles y escribibles.
fuente
Resolví este problema creando una
storage\framework\sessions
carpeta.fuente
Tuve problemas similares debido a .gitignore para la
/storage
carpeta en la primera máquina, luego cloné el repositorio en la segunda máquina y laravel fue una revisión para escribir el caché de sesionesEntonces, crear una carpeta manualmente
/storage/sessions
podría ser una solución.fuente
la solución que funcionó para mí es simplemente servir la aplicación como administrador si está
mac
olinux
usosudo php artisan serve
CMD
como unadminstrator
y luego vaya al directorio del proyecto y ejecutephp artisan serve
fuente
Limpiar el contenido de
storage/framework/cache
hizo el truco para mí. Nada más funcionó ...fuente
Usé Laravel 8, esta es mi solución
Ir a: los datos del
directorio de permisos de almacenamiento / marco / caché / conjunto de datos son 777
Ha funcionado para mi
fuente
Esto hizo la magia por mí. chmod -Rf 0777 almacenamiento
fuente