PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away. – PHP HY000/2006

HY000/2006

La connessione persistente verso il server MySQL è stata chiusa dal server per inattività (`wait_timeout`) o la query inviata supera il parametro `max_allowed_packet`.

Cosa significa questo errore?

La connessione persistente verso il server MySQL è stata chiusa dal server per inattività (`wait_timeout`) o la query inviata supera il parametro `max_allowed_packet`.

Messaggio originale

PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away.

Contesto e parole chiave

Alias

  • MySQL server has gone away PDO
  • SQLSTATE HY000 2006 PHP

Messaggi alternativi

  • server MySQL disconnesso timeout o pacchetto troppo grande

Prodotti

  • PHP Engine / Zend Engine / PHP-FPM / Composer

Piattaforme

  • Linux
  • macOS
  • Windows Server

Parole chiave

  • composer
  • Database
  • errore-php-pdo-mysql-server-has-gone-away-2006
  • HY000/2006
  • php
  • php 8
  • php.database.pdo-mysql-server-has-gone-away

Cause possibili

Origine del problema per PHP PDO: MySQL server has gone away (Errore 2006)

La connessione persistente verso il server MySQL è stata chiusa dal server per inattività (`wait_timeout`) o la query inviata supera il parametro `max_allowed_packet`.

molto comune

Diagnosi

Diagnostica PHP per PHP PDO: MySQL server has gone away (Errore 2006)

Esaminare i log degli errori di PHP nel file specificato da error_log in php.ini o nei log di PHP-FPM /var/log/php-fpm/www-error.log.

Come leggere il risultato. Mostra lo stack trace completo dell'errore, file e numero di riga esatti in cui è avvenuto il blocco.

terminal
tail -n 50 /var/log/nginx/error.log

Risoluzione

Procedura di risoluzione per PHP PDO: MySQL server has gone away (Errore 2006)

Difficoltà: facileRischio: basso

Applicare la correzione al codice PHP o alla configurazione del php.ini secondo le specifiche ufficiali.

  1. Verificare la riga di codice segnalata nello stack trace
  2. Regolare i parametri in php.ini se l'errore deriva da limiti di sistema
  3. Riavviare il servizio PHP-FPM o Apache
terminal
sudo systemctl reload php-fpm

Domande frequenti

Come risolvere il codice o errore HY000/2006 in PHP?

La connessione persistente verso il server MySQL è stata chiusa dal server per inattività (`wait_timeout`) o la query inviata supera il parametro `max_allowed_packet`.

Approfondimenti

Schede correlate