【问题标题】:Zend Framework 1 - remote database connection via ssh tunnelZend Framework 1 - 通过 ssh 隧道连接远程数据库
【发布时间】:2017-08-16 04:14:19
【问题描述】:

我想连接到我的客户远程数据库。

我可以使用命令建立 ssh 隧道:

ssh -vvv -i path_to_private_key -L 3308:127.0.0.1:3307 ssh_user@ssh_host

并通过以下方式连接到他的数据库:

mysql -u database_user -p -h 127.0.0.1 -P 3308

但是当我想配置我的zend框架项目从这个数据库中读取数据时,什么也没有发生(即使apache2错误日志中没有日志)

在我的 application.ini 文件中的配置下方:

resources.db.adapter = "mysqli"
resources.db.params.host = 127.0.0.1
resources.db.params.port = 3308

resources.db.params.dbname = database_name
resources.db.params.username = database_user
resources.db.params.password = database_password
resources.db.params.profiler = false

我不知道可能出了什么问题。有什么想法吗?

【问题讨论】:

    标签: php mysql zend-framework ssh ssh-tunnel


    【解决方案1】:

    稍微改变一下你的 ssh 命令试试这个。

    ssh -N -L -i path_to_private_key 3307:mysqlhost:3306 ssh-user@ssh-host
    

    其中 3307 是您的本地端口,mysqlhost 是您要连接的 mysql 主机,而不是 localhost。现在,您的配置应该如下所示:

    resources.db.adapter = "mysqli"
    resources.db.params.host = 127.0.0.1
    resources.db.params.port = 3307
    
    resources.db.params.dbname = database_name
    resources.db.params.username = database_user
    resources.db.params.password = database_password
    

    参考手册:

    -N      Do not execute a remote command.  This is useful for just forwarding ports (pro-
             tocol version 2 only).
    

    希望对您有所帮助。

    【讨论】:

    • 感谢您的回答。不幸的是,这不是我的问题的解决方案。最后几天发现这是我的客户方面的问题,我的命令一切都很好。但当然感谢有趣。
    【解决方案2】:

    不幸的是,这不是我的问题的解决方案。最近几天发现这是我的客户方面的问题,我的命令一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-25
      • 2021-12-02
      • 1970-01-01
      • 2015-03-01
      • 2014-07-20
      • 2014-09-17
      • 2019-07-15
      • 2020-01-04
      相关资源
      最近更新 更多