2013-05-19 3 views
2

SFTP로 파일을 보내려고합니다. 파일을 업로드하는 중에 오류가 발생합니다. 원격 폴더의 사용 권한이 괜찮습니다.PHP가 SFTP로 파일을 보냅니다.

$connection = ssh2_connect('10.0.10.245', 22); 
ssh2_auth_password($connection, $ftp_user_name, $ftp_user_pass); 
$sftp = ssh2_sftp($connection); 
echo '<br>'; 
ssh2_scp_send($connection,$file,"/a.xml", 0644); 
print_r(error_get_last()); 

내가 가진 오류는 다음과 같습니다

Array 
( 
    [type] => 2 
    [message] => ssh2_scp_send(): Failure creating remote file 
    [file] => /var/www/FP1/sendFTP.php 
    [line] => 93 
) 

어떤 조언을?

+0

원격 폴더의 사용 권한을 표시 할 수 있습니까? '$ ftp_user_name'은 폴더의 소유자입니까? –

답변

4

실제 전송 (ssh2_scp_send)에 나중에 SCP를 사용하는 동안 SFTP 세션 (ssh2_sftp)을 시작합니다. 당신은 확실히 ssh2_sftp 라인이 필요 없습니다; 실제로 문제의 원인이 될 수 있습니다.

기술적으로 하나의 SSH 연결을 통해 SFTP 및 SCP 세션을 모두 가질 수 있지만 PHP가이를 지원할 것으로 기대하지는 않습니다. 나는 확실하지 않지만.

+0

좋아요! 3 일 동안 고생하고 난 후에 나는 당신의 대답을 발견했고, 그 문제를 해결했다 :) – M3ghana

1

사용 권한 문제가 있습니까?

"/a.xml"은 보통 ftp 사용자에 대한 쓰기 권한이없는 / 루트 디렉터리 아래에 파일을 저장한다는 의미입니다.

관련 문제