PDO 和 SSH2 隧道

Lou*_*ner 5 php mysql ssh pdo

有什么方法可以使用 PDO 和 SSH 隧道连接到数据库,并且不要像下面的主题那样在命令行中执行任何代码?

Zend_Db:如何通过 SSH 隧道连接到 MySQL 数据库?

预先感谢您的回答。

sym*_*ean 1

如果不在单独的进程中调用 ssh 隧道,这意味着您必须为每次调用脚本创建一个新隧道 - 并且您无法共享另一个实例创建的隧道,因为您不知道它何时终止。因此,除了连接开销之外,您还需要管理本地套接字池。

简而言之,这是不可行的。

更长的答案是,您可以从 PHP 中启动守护进程/长时间运行的进程,但有一些注意事项。因此,如果您可以使用程序执行功能并可以使用命令行工具访问一组 POSIX 工具,那么这是可能的。如果您可以设置一个密钥对(带有已加密的私钥),以避免必须解析程序的 I/O 以在正确的位置注入密码(或者使用类似'期望'来处理它)。