有谁知道pfsockopen();
周围的SSH / SFTP / FTP包装器类?我仍在寻求在PHP中保持持久连接。
答案 0 :(得分:2)
快速阅读后,看起来打开一个套接字会处理一个不同的图层然后你想要的。您希望通过SSH或SFTP连接,即使用通过TTP / TLS / UDP(传输层)建立连接的方法的应用层。
所以你想要的(我认为)是使用pfsockopen()
函数创建SSL或TLS连接,然后使用该连接通过SSH / SFTP协议传递数据。
根据PHP网站:
如果您已在OpenSSL中编译 支持,您可以在主机名前加上前缀 使用ssl://或tls://来使用 SSL或TLS客户端连接 TCP / IP连接到远程主机。
所以我最好的猜测是你将主机名设置为以ssl://
开头,然后使用SSH或SFTP端口作为端口(所以端口22或端口989)。类似的东西:
$persistent_socket = pfsockopen("ssl://myhostsite", 22);
或
$persistent_socket = pfsockopen("ssl://myhostsite", 989);
答案 1 :(得分:2)
@ user260294:非常感谢http://phpseclib.sourceforge.net/
。虽然与原始问题无关,但它节省了我在类似项目上的编码时间。
在守护进程建立持久连接的情况下 - 当它超时时你必须重新连接...所以我没有看到这样做的重点。
答案 2 :(得分:1)
这是围绕fsockopen()的SSH / SFTP包装类:
http://phpseclib.sourceforge.net/
这不是pfsockopen()但是用pfsockopen()替换一个fsockopen()调用会有什么作用?
答案 3 :(得分:1)
哇http://phpseclib.sourceforge.net/处的包非常适合sftp连接,无需安装或添加模块或任何东西。它只是有效。非常感谢
答案 4 :(得分:0)
我不知道围绕它构建的类实现,但如果有帮助你的话会有ssh2 module ...