【发布时间】:2010-12-21 13:54:01
【问题描述】:
我正在使用 Zend Framework 开发我的应用程序,并尝试连接到我局域网中的远程 MySQL 数据库。
Zend中的数据库连接设置如下:
[一般的] db.adapter = PDO_MYSQL db.params.host = 192.168.1.2 db.params.port = 3306[现场:一般] db.params.username = 根 db.params.password = ** db.params.dbname = djudd
[开发:一般] db.params.username = 根 db.params.password = ** db.params.dbname = 恒星引擎
我收到以下错误:
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('DESCRIBEbny_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
请帮我解决这个问题。
【问题讨论】:
-
我希望您实际上并没有使用
root作为您的数据库凭据...如果有任何类型的攻击(文件系统或 sql 注入),这可能会非常危险... -
可能会尝试使用远程主机 IP(或名称)而不是本地默认网关 IP 192.168.1.2
-
可能和zend框架无关,只需要一个简单的mysql_connect()函数测试一下。错误可能与您的 mysql 服务器或网络配置有关。
标签: php mysql zend-framework