“Lost connection to MySQL server” lorsque vous tentez de vous connecter à un serveur MySQL distant

Je suis en utilisant le Zend Framework pour développer mon application et j'essaie de me connecter à une base de données MySQL distante dans mon LAN.

La base de données des paramètres de connexion dans Zend est comme suit:

[GÉNÉRAL] 
db.adaptateur = PDO_MYSQL 
db.params.host = 192.168.1.2 
db.params.port = 3306

[LIVE:GÉNÉRAL] db.params.nom d'utilisateur = root db.params.mot de passe = ** db.params.dbname = djudd

[DE DÉVELOPPEMENT:GÉNÉRAL] db.params.nom d'utilisateur = root db.params.mot de passe = ** db.params.dbname = stellarengine


J'ai eu l'erreur suivante:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'reading initial communication packet', system error: 111' in /usr/share/php/Zend/Db/Adapter/Pdo/Abstract.php:129 Stack trace: #0 /usr/share/php/Zend/Db/Adapter/Pdo/Abstract.php(129): PDO->__construct('mysql:host=192....', 'root', 'password', Array) #1 /usr/share/php/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect() #2 /usr/share/php/Zend/Db/Adapter/Abstract.php(448): Zend_Db_Adapter_Pdo_Mysql->_connect() #3 /usr/share/php/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('DESCRIBEbny_c...', Array) #4 /usr/share/php/Zend/Db/Adapter/Pdo/Mysql.php(156): Zend_Db_Adapter_Pdo_Abstract->query ("DÉCRIRE bny_c...') #5 /usr/share/php/Zend/Db/Table/Abstract.php(823): Zend_Db_Adapter_Pdo_Mysql->describeTable('bny_core_module...', NULL) #6 /usr/share/php/Zend/Db/Table/Abstract.php(866): Zend_Db_Table_Abstract->_setupMetadata() #7 /usr/share/php/Zend/Db/Table/Abstract. in /usr/share/php/Zend/Db/Adapter/Pdo/Abstract.php on line 144

Merci de m'aider à résoudre ce problème.

J'espère que vous ne sont pas réellement à l'aide de root que vos identifiants de base de données... Qui pourrait être très dangereux si il y a un type d'attaque (système de fichiers ou par injection sql)...
essayez d'utiliser l'IP de l'hôte distant (ou le Nom) au lieu de la locale par défaut de la passerelle IP 192.168.1.2
Peut-être que ce n'est pas en rapport avec le zend framework, vous avez besoin de tester juste avec une simple fonction de mysql_connect (). Probablement l'erreur est de votre serveur mysql ou de la configuration du réseau.

OriginalL'auteur Karthikeyan | 2010-12-21