我正在使用Zend Framework开发我的应用程序,并尝试连接到局域网中的远程MySQL数据库。
Zend中的数据库连接设置如下:
[GENERAL] db.adapter = PDO_MYSQL db.params.host = 192.168.1.2 db.params.port = 3306[LIVE:GENERAL] db.params.username = root db.params.password = ** db.params.dbname = djudd
[DEVELOPMENT:GENERAL] db.params.username = root db.params.password = ** db.params.dbname = stellarengine
我收到以下错误:
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('DESCRIBE
bny_c ...',数组)#4 /usr/share/php/Zend/Db/Adapter/Pdo/Mysql.php(156):Zend_Db_Adapter_Pdo_Abstract-> query('DESCRIBE {{ 1}}
请帮我解决这个问题。
答案 0 :(得分:7)
上次出现此类错误时,我必须将主机从 127.0.0.1 更改为“ localhost ”,然后才能正常运行。
答案 1 :(得分:1)
答案 2 :(得分:0)
我有同样的问题,要解决它我从'localhost:3306' to '127.0.0.1:3306'.
在目标计算机中,localhost正在解析为:: 1但是MariaDB没有侦听IPv6请求...
答案 3 :(得分:0)
此错误表示您连接到错误的服务器或防火墙阻止它或服务器未运行。
您需要与服务器管理员联系以确认正确的详细信息。
对于大多数服务器,您将使用127.0.0.1
,但有些服务器使用localhost
,而其他服务器(如媒体服务器)则需要完整的域名 - 例如internal-db.s421234.gridserver.com