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/cachey eliminar elconfig.phparchivo. o puede cambiarle el nombreconfig.php.oldy su problema se solucionará. Feliz codificación :-)fuente
php artisan config:cachereconstruirá 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:cachecomando 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:clearphp artisan config:cachePuede 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-cacheruta 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:cachecomando 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/cachey 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:clear2. php artisan cache:clear3. php artisan config:cacheEn 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-cacheruta 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\sessionscarpeta.fuente
Tuve problemas similares debido a .gitignore para la
/storagecarpeta 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/sessionspodría ser una solución.fuente
la solución que funcionó para mí es simplemente servir la aplicación como administrador si está
macolinuxusosudo php artisan serveCMDcomo unadminstratory luego vaya al directorio del proyecto y ejecutephp artisan servefuente
Limpiar el contenido de
storage/framework/cachehizo 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