Estaba tratando de implementar mi primer proyecto de Symfony en un servidor de Appache que se ejecuta en Windows. A veces, la solicitud falla y aparece el siguiente error:
No se puede cambiar el nombre de "C:\xampp\htdocs\qradmin\var\dev\cache\urlAF58.tmp" a "C:\xampp\htdocs\qradmin\var\dev\cache/url_matching_routes.php".
No he cambiado ninguna configuración de caché: aquí está config/packages/cache.yaml
framework: cache: # Unique name of your app: used to compute stable namespaces for cache keys. #prefix_seed: your_vendor_name/app_name # The "app" cache stores to the filesystem by default. # The data in this cache should persist between deploys. # Other options include: # Redis #app: cache.adapter.redis #default_redis_provider: redis://localhost # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) #app: cache.adapter.apcu # Namespaced pools use the above "app" backend by default #pools: #my.dedicated.cache: nullIntenté eliminar las carpetas y volver a crearlas manualmente y también ejecutar el comando php bin/console cache:warmup. ¿Alguien me puede ayudar?
Primero de lo que dijo @stephan Vierkant: XAMPP es solo para fines de desarrollo. Supongo que tienes muchos problemas de seguridad al ejecutar XAMPP en producción.
Estoy desarrollando en máquinas Linux. Pero creo que en las máquinas con Windows obtienes el mismo tipo de errores de permiso cuando tu aplicación/entorno no está configurado correctamente. Creo que podría ser el mismo problema en su máquina con Windows.
Una aplicación PHP puede ejecutarse en modo CLI (comandos que está ejecutando en la consola). En este modo, el usuario actual se usa para ejecutar ese comando ( your_username de usuario)
El otro modo es a través del servidor web. El propio servidor web ejecutado por un usuario dedicado. En el caso de apache2 , a menudo es el usuario www-data .
Tanto el usuario www-data como el usuario your_username crean entradas de caché si aún no existen.
Y ese es a menudo el problema. Si, por ejemplo, www-data realiza una entrada de caché, los permisos en ese archivo a través del modo CLI ( your_username ) no son suficientes. your_username no tiene derechos para modificar el archivo porque solo el propietario puede ( www-data ) y viceversa
En symfony.com hay una solución para manejar los errores de permisos: