3

ssh2_scp_send() 関数が php でハングします。コードは次のとおりです。

$debug_line_feed = "\n";
$conn = ssh2_connect($sftp_server, 22);
$return = ssh2_auth_password($conn, $sftp_user_name, $sftp_user_pass);
if ($return===true) echo "successfull connection".$debug_line_feed;

echo "uploading file".$debug_line_feed;
$local_filename = $product_feed_file_with_path;
$remote_filename = 'product_feed.txt';
ssh2_scp_send($conn, $local_filename, $remote_filename);
echo "successful".$debug_line_feed;

実行すると、「接続に成功しました」、「ファイルをアップロードしています」と出力され、ハングします。これを修正する方法はありますか?

ssh2_scp_recv でダウンロードも試みましたが、ローカル ファイルが 0 バイト ファイルとして作成されてハングします。

4

2 に答える 2

3

私の推測では、サーバーには刑務所シェルがインストールされています。その時点で SCP は機能しませんが、SFTP は機能します。

于 2015-08-31T20:34:43.737 に答える
1

最近、sftp を使用してファイルを送信し、Linux を Windows に送信し、ssh2_scp_send が機能しません。

$sftp = ssh2_sftp($conn);
 $contents = file_get_contents($localPath);
 $result = file_put_contents("ssh2.sftp://{$sftp}/{$remotePath}", $contents);

その後動作します

于 2016-12-02T03:45:24.980 に答える