Recursos minificados no encontrados o generados durante la fase de compilación
En Adobe Commerce Cloud, los recursos minificados devuelven un error de 404 después de la implementación debido a problemas en el sistema de archivos o a una configuración incorrecta de .magento.env.yaml o config.php archivos. Para solucionarlo, compruebe los permisos de los archivos para asegurarse de que el servidor web pueda obtener acceso a ellos y que los archivos .magento.env.yaml y app/etc/config.php estén correctamente configurados para su entorno.
Descripción description
Entorno
Adobe Commerce Cloud
Problema/Síntomas
Después de completar la implementación de un sitio web, algunos recursos minificados no son accesibles; por ejemplo, https://yourdomain.com/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js devuelve 404. Ocurre debido a lo siguiente:
-
Problemas del sistema de archivos que impiden que el archivo se sincronice entre todos los nodos web.
-
Configuración incorrecta del archivo
.magento.env.yamloconfig.php.- SCD en la compilación requiere que la configuración de minificación de recursos se guarde en
app/etc/config.phppara que surta efecto. - La configuración de SCD (consulte variables de entorno) no se ha configurado o agregado en el escenario correcto del archivo
.magento.env.yaml.
- SCD en la compilación requiere que la configuración de minificación de recursos se guarde en
Resolución resolution
Para resolver el problema:
-
En primer lugar, compruebe los permisos de archivo de los recursos afectados para asegurarse de que el servidor web pueda acceder a ellos.
- SSH a cada nodo web y compruebe si el recurso existe en todos los nodos web. (Nota: En una arquitectura no dividida, solo habrá tres nodos. En una arquitectura dividida, los tres primeros nodos serán nodos de servicio, pero podría haber más.) Para el nodo X:
magento-cloud ssh -p <cluster_id> -I X - Una vez que esté en el nodo X, ejecute este comando y compruebe los permisos:
ls -la pub/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js(Nota: Reemplace el nombre de archivo del comando por el nombre real del recurso que devuelve un error 404). - Si el archivo existe en algunos nodos pero no en otros, envíe una solicitud de soporte técnico con el Motivo de contacto establecido en Incidente de infraestructura.
- SSH a cada nodo web y compruebe si el recurso existe en todos los nodos web. (Nota: En una arquitectura no dividida, solo habrá tres nodos. En una arquitectura dividida, los tres primeros nodos serán nodos de servicio, pero podría haber más.) Para el nodo X:
-
A continuación, si el archivo no existe en todos los nodos, confirme que los archivos
.magento.env.yamlyapp/etc/config.phpse han configurado correctamente para su entorno.-
En cualquiera de los nodos web, ejecute primero este comando:
vendor/bin/ece-tools wizard:scd-on-build -
Si el comando anterior devuelve SCD en la compilación está habilitado, ejecute este comando para comprobar que la configuración de minificación de recursos está habilitada:
grep -r minify_files app/etc/*.php. (Nota: Reemplace el nombre de archivo del comando por el nombre real del recurso que devuelve un error 404). Si el comando no devuelve filas, implica que la minificación está deshabilitada. El valor0indica que el elemento está deshabilitado y1indica que está habilitado. -
Si no hay filas devueltas:
- Ejecute el comando
config:dumppara guardar la configuración de minificación enapp/etc/config.php(consulte Configuración del SCD en la compilación). - Confírmela al repositorio.
- Vuelva a implementar la instancia.
- Ejecute el comando
-
Si alguna de las opciones de minificación de recursos tiene un valor de
0que se debe minificar:- Actualice el valor de
app/etc/config.phpa1. - Confírmela al repositorio.
- Vuelva a implementar la instancia.
- Actualice el valor de
-
Compruebe el archivo
.magento.env.yamly asegúrese de haber agregado la variable de entorno SCDen el escenario adecuado:- SCD en la compilación: La variable de compilación debe colocarse en la fase
build:. - SCD en la implementación: La variable Implementar debe colocarse en la fase
deploy:. - Después de asegurarse de que la variable se ha agregado en el escenario adecuado, confirme el archivo en el repositorio y vuelva a implementar la instancia.
- SCD en la compilación: La variable de compilación debe colocarse en la fase
-
-
Finalmente, pruebe el acceso a las direcciones URL afectadas después de realizar ajustes.
Si los problemas persisten después de realizar estos pasos, póngase en contacto con el Soporte técnico de Adobe, ya que es posible que se requiera una investigación más detallada de los registros del servidor o de la configuración adicional.