Salta al contenuto

PHP foreach argument must be array or object

Pubblicato il Aggiornato il

In breve: PHP foreach argument must be array or object — indica che foreach riceve un valore che non può essere iterato come array o oggetto.

PHP foreach argument must be array or object: significato

Le prime ipotesi da verificare per “PHP foreach argument must be array or object” sono codice non compatibile con la versione PHP; file incluso più volte o dipendenza non caricata.

PHP foreach argument must be array or object: sintomo, causa e verifica
PHP foreach argument must be array or object: sintomo, causa probabile e criterio di verifica.

Sintomi e cause probabili

Sintomi da verificare

  • Il messaggio “PHP foreach argument must be array or object” compare durante un’operazione ripetibile.
  • La funzione coinvolta in PHP non raggiunge il risultato previsto.
  • Il log dell’area PHP registra un evento nello stesso minuto della prova.
  • Il comportamento osservato in PHP cambia in base a utente, rete, file o configurazione.

Cause probabili

  • Codice non compatibile con la versione PHP
  • File incluso più volte o dipendenza non caricata
  • Dato null o di tipo diverso da quello atteso
  • Output inviato prima degli header

Diagnosi passo per passo

  1. Leggere messaggio completo, file, riga e stack trace
  2. Identificare plugin, tema o codice proprietario responsabile
  3. Riprodurre con lo stesso input in staging
  4. Verificare tipi, include e percorsi prima della riga
  5. Confrontare il comportamento con una versione supportata

Log e dati da controllare

  • PHP error_log
  • WordPress debug.log se applicabile
  • versione, estensioni e configurazione PHP

Correzioni sicure

  1. Aggiornare o correggere il componente responsabile
  2. Validare tipi e valori prima dell’uso
  3. Usare include_once o autoload coerente quando necessario
  4. Rimuovere output prematuro e caratteri invisibili
  5. Correggere percorso e permessi senza esporre il filesystem
PHP foreach argument must be array or object: passaggi diagnostici e correzioni
PHP foreach argument must be array or object: sequenza diagnostica e verifica dopo la correzione.

Verifica finale

  • La stessa chiamata termina senza warning o fatal error
  • Lo stack trace non ricompare
  • Frontend e processi in background funzionano
  • La correzione resta compatibile con la versione PHP in uso

Errori da evitare

  • Non disattivare globalmente WAF, ModSecurity, antispam o verifica TLS per aggirare il sintomo
  • Non impostare permessi 777 e non cambiare proprietari in modo ricorsivo senza conoscere la struttura dell’account
  • Non cancellare database, chiavi Redis, cache o file di sistema senza backup e senza aver identificato l’oggetto coinvolto
  • Non ripetere pagamenti, import o webhook reali finché non hai verificato l’idempotenza

Guide Xlogic correlate

Fonti tecniche

Domande frequenti

Che cosa significa “PHP foreach argument must be array or object”?

PHP foreach argument must be array or object — indica che foreach riceve un valore che non può essere iterato come array o oggetto.

Da cosa può dipendere “PHP foreach argument must be array or object”?

Le cause da verificare per “PHP foreach argument must be array or object” sono: codice non compatibile con la versione PHP; file incluso più volte o dipendenza non caricata; dato null o di tipo diverso da quello atteso.

Quali controlli eseguire per “PHP foreach argument must be array or object”?

Per diagnosticare “PHP foreach argument must be array or object”, controlla nell’ordine: leggere messaggio completo, file, riga e stack trace; identificare plugin, tema o codice proprietario responsabile; riprodurre con lo stesso input in staging. La soluzione è confermata quando la stessa chiamata termina senza warning o fatal error; lo stack trace non ricompare.

PHP foreach argument must be array or object ultima modifica: 2026-08-03T15:16:02+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?