我在通过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.0和libssh2 v1.2.7。
如有任何建议,我们将不胜感激!
发布于 2014-07-01 22:27:43
您正在运行的是旧版本的php。你有什么特别的原因不能升级吗?
我敢打赌,这个问题与您运行的是一个如此旧的版本有关。鉴于此,您使用phpseclib, a pure PHP SFTP implementation可能会取得更好的成功。您需要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');
?>https://stackoverflow.com/questions/24512344
复制相似问题