2015-08-26 133 views
0

ssh2_scp_send()函數掛在php中。這裏的代碼:ssh2_scp_send()和ssh2_scp_recv()函數在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 "echo "successful".$debug_line_feed; 

當我運行它,它輸出「成功的連接」,「上傳文件」,然後掛起。任何想法如何解決這個問題?

我嘗試了下載,以及與ssh2_scp_recv,它也掛起以及本地文件被創建爲0字節文件。

回答

2

我的猜測是服務器安裝了監獄外殼。那時SCP不會工作,但SFTP會。

+0

這也正是它。我必須使用sftp文件操作功能。我應該將我的代碼作爲解決方案發布嗎? – danjfoley

0

最近,我用SFTP來發送文件,linux下窗戶,ssh2_scp_send不行,我解決了問題,使用

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

然後工作

相關問題