Php 在Zend中使用ssh隧道不起作用,但它可以在MYSQL客户端中使用

Php 在Zend中使用ssh隧道不起作用,但它可以在MYSQL客户端中使用,php,mysql,zend-framework,ssh,ssh-tunnel,Php,Mysql,Zend Framework,Ssh,Ssh Tunnel,我有一个服务器,端口2899上有一个ssh连接,可以使用mysql服务器。我用这种方法在我的机器和服务器之间建立了一个隧道 ssh -p 2899 [ssh_user]@[ssh_server] -L 3306:localhost:3306 -N 然后,我输入密码,它会给我隧道 当我转到mysql客户端(本例中为navicat)时,我创建了以下连接: server: localhost port: 3306 user: [local_user] pass: [local_user_pass]

我有一个服务器,端口2899上有一个ssh连接,可以使用mysql服务器。我用这种方法在我的机器和服务器之间建立了一个隧道

ssh -p 2899 [ssh_user]@[ssh_server] -L 3306:localhost:3306 -N
然后,我输入密码,它会给我隧道

当我转到mysql客户端(本例中为navicat)时,我创建了以下连接:

server: localhost
port: 3306
user: [local_user]
pass: [local_user_pass]
当我连接隧道并与ssh服务器联系时,会显示模式,以此类推

但是,当我使用Zend使用这些参数时,会得到错误“SQLSTATE[HY000][1044]”


为什么我可以使用mysql客户端而不能使用Zend应用程序进行访问?

也许可以尝试
127.0.0.1
而不是
localhost
——这应该是相同的,但可能是解决了IPv6问题?尝试了但没有成功。抱歉。@dlopezgonzalez您解决过这个问题吗?可能尝试
127.0.0.1
而不是
localhost
-这应该是相同的,但可能是解决了IPv6问题?尝试没有成功。对不起。@dlopezgonzalez你解决过这个问题吗?
 resources.db.adapter = "pdo_mysql"
 resources.db.params.host = "localhost"
 resources.db.params.username = "[local_user]"
 resources.db.params.password = "[local_user_pass]"
 resources.db.params.dbname = "[schema_name]"
 resources.db.params.charset = "utf8"
 resources.db.isDefaultTableAdapter = true