fopen通过ssh2 sftp包装导致chrome ERR_EMPTY_RESPONSE



我在通过SFTP上传文件时遇到问题。下面是我的代码:

$connection = ssh2_connect("ftp.mysite.com", 22);
ssh2_auth_password($connection, "username", "password");
$sftp = ssh2_sftp($connection);
$file = "/full/path/to/file.txt";
$stream = fopen("ssh2.sftp://{$sftp}$file", "w+");

我得到的是chrome显示

No data received
Error code: ERR_EMPTY_RESPONSE

我已经做了phpinfo()来检查我有ssh2。启用了sftp包装器。我正在运行PHP v4.4.0libssh2 v1.2.7

任何建议都将非常感谢!

您运行的是旧版本的php。你有什么特别的原因不能升级吗?

我打赌这个问题与你运行的是这么旧的版本有关。考虑到这一点,使用phpseclib(一个纯PHP SFTP实现)可能会更成功。您需要PHP_Compat让它与php4一起工作,但假设您已经安装了它(并且在include_path中安装了phpseclib),它应该可以正常工作。

示例代码:

<?php
include('Net/SFTP.php');
$sftp = new Net_SFTP('ftp.mysite.com');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}
// puts a three-byte file named /full/path/to/file.txt on the SFTP server
$sftp->put('/full/path/to/file.txt', 'xxx');
?>

最新更新