Aller au contenu | Aller au menu | Aller à la recherche


2006 : MySQL server has gone away (CR_SERVER_LOST)

Lors de l'appel à un script PHP qui convertit des colonnes MySQL, si la conversion est trop longue on obtient l'erreur 2006 de MySQL : MySQL server has gone away

Les logs PHP

query : alter table maTable change myField myDateField datetime DEFAULT NULL
PHP Warning:  mysql_query(): MySQL server has gone away in C:\columnnames.php on line 157

Warning: mysql_query(): MySQL server has gone away in C:\columnnames.php on line 157
PHP Warning:  mysql_query(): Error reading result set's header in C:\columnnames.php on line 157

Warning: mysql_query(): Error reading result set's header in C:\columnnames.php on line 157
temps:-60s 2006: MySQL server has gone away

La doc MySQL

Après avoir fait le tour de la documentation MySQL :

L'erreur 2006 de MySQL : CR_SERVER_LOST : Le client n'a pas obtenu d'erreur en contactant le serveur, mais n'a pas obtenu de réponse complète à la question posée.

//$query = "SET SESSION net_write_timeout = 600";
//mysql_query($query) or die(mysql_errno() . ": " . mysql_error());
 
//$query = "SET GLOBAL net_write_timeout = 600";
//mysql_query($query) or die(mysql_errno() . ": " . mysql_error());

Les fichiers de configuration php.ini

; Default timeout for socket based streams (seconds)
; http://php.net/default-socket-timeout
;default_socket_timeout = 60
default_socket_timeout = 600

; Maximum time (in seconds) for connect timeout. -1 means no limit
; http://php.net/mysql.connect-timeout
mysql.connect_timeout = 60
;mysql.connect_timeout = -1
;mysql.connect_timeout = 600

La solution

Au final c'est le socket par défaut qui bloquait tout le reste. Pour que cela fonctionne, j'ai simplement modifié dans le php.ini :

; Default timeout for socket based streams (seconds)
; http://php.net/default-socket-timeout
;default_socket_timeout = 60
default_socket_timeout = 600

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet