Risorse ridotte non trovate o generate durante la fase di build
In Adobe Commerce Cloud, le risorse ridotte restituiscono un errore 404 dopo la distribuzione a causa di problemi del file system o configurazione non corretta di .magento.env.yaml o config.php file. Per risolvere il problema, controllare le autorizzazioni per i file per assicurarsi che siano accessibili dal server Web e verificare che i file .magento.env.yaml e app/etc/config.php siano configurati correttamente per l'ambiente.
Descrizione description
Ambiente
Adobe Commerce Cloud
Problema/Sintomi
Dopo aver completato la distribuzione di un sito Web, alcune risorse ridotte non sono accessibili, ad esempio https://yourdomain.com/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js restituisce 404. Accade a causa di:
-
Problemi del file system che impediscono la sincronizzazione del file tra tutti i nodi Web.
-
Configurazione non corretta del file
.magento.env.yamloconfig.php.- SCD nella build richiede che le impostazioni di minimizzazione delle risorse siano salvate in
app/etc/config.phpper avere effetto. - Le impostazioni SCD (vedere variabili di ambiente) non sono configurate o aggiunte nella fase corretta del file
.magento.env.yaml.
- SCD nella build richiede che le impostazioni di minimizzazione delle risorse siano salvate in
Risoluzione resolution
Per risolvere il problema:
-
Innanzitutto, controlla le autorizzazioni del file per le risorse interessate per assicurarti che siano accessibili dal server web.
- SSH a ciascun nodo web e verifica se la risorsa esiste su tutti i nodi web. (Nota: In un'architettura non divisa, saranno presenti solo tre nodi. In un’architettura divisa, i primi tre nodi saranno nodi di servizio, ma potenzialmente ce ne potrebbero essere altri.) Per il nodo X:
magento-cloud ssh -p <cluster_id> -I X - Una volta nel nodo X, eseguire questo comando e verificare le autorizzazioni:
ls -la pub/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js(Nota: Sostituire il nome del file nel comando con il nome effettivo della risorsa che restituisce un errore 404). - Se il file esiste in alcuni nodi ma non in altri, inviare una richiesta di supporto con il Reason del contatto impostato su Incidente di infrastruttura.
- SSH a ciascun nodo web e verifica se la risorsa esiste su tutti i nodi web. (Nota: In un'architettura non divisa, saranno presenti solo tre nodi. In un’architettura divisa, i primi tre nodi saranno nodi di servizio, ma potenzialmente ce ne potrebbero essere altri.) Per il nodo X:
-
Successivamente, se il file non esiste in tutti i nodi, verificare che i file
.magento.env.yamleapp/etc/config.phpsiano configurati correttamente per l'ambiente.-
In uno qualsiasi dei nodi Web eseguire prima questo comando:
vendor/bin/ece-tools wizard:scd-on-build -
Se il comando precedente restituisce SCD nella compilazione è abilitato, eseguire questo comando per verificare che le impostazioni di minimizzazione delle risorse siano abilitate:
grep -r minify_files app/etc/*.php. (Nota: Sostituisci il nome file nel comando con il nome effettivo della risorsa che restituisce un errore 404). Se il comando non restituisce alcuna riga, significa che la minimizzazione è disabilitata. Il valore0indica che l'elemento è disabilitato e1indica che è abilitato. -
Se non vengono restituite righe:
- Eseguire il comando
config:dumpper salvare la configurazione di minimizzazione inapp/etc/config.php(vedere Impostazione della SCD nella compilazione). - Eseguire il commit nell'archivio.
- Ridistribuisci l’istanza.
- Eseguire il comando
-
Se una delle impostazioni di minimizzazione risorse ha un valore di
0da minimizzare:- Aggiornare il valore in
app/etc/config.phpa1. - Eseguire il commit nell'archivio.
- Ridistribuisci l’istanza.
- Aggiornare il valore in
-
Controllare il file
.magento.env.yamle assicurarsi di aver aggiunto la variabile di ambiente SCD 🔗nella fase corretta:- SCD nella compilazione: La variabile di compilazione deve trovarsi nella fase
build:. - SCD durante la distribuzione: La variabile di distribuzione deve essere posizionata nella fase
deploy:. - Dopo aver verificato che la variabile sia stata aggiunta nella fase appropriata, esegui il commit del file nell’archivio e ridistribuisci l’istanza.
- SCD nella compilazione: La variabile di compilazione deve trovarsi nella fase
-
-
Infine, verifica l’accesso agli URL interessati dopo aver apportato le regolazioni necessarie.
Se i problemi persistono dopo aver eseguito questi passaggi, contatta il Supporto Adobe in quanto potrebbero essere necessarie ulteriori indagini sui registri del server o ulteriori impostazioni di configurazione.