2010-01-31 10 views
3

로그인 정보와 PHP가있는 보안 FTP 서버가 있는데 ftp_ssl_connect/ftp_connectftp_login 함수를 사용하여 해당 보안 FTP 서버에 연결하려고하고 모든 매개 변수를 함수에 제대로 전달하려고하지만 놀랍습니다. 연결되지 않는지 확인하십시오.PHP를 사용하여 안전한 FTP 연결

보안 FTP 서버에 ssh를 사용하여 명령 줄에서 연결할 수 있지만 PHP 코드를 통해 연결하려고 할 때 연결되지 않아서 이것이 왜 있는지 잘 모르겠습니다. 일어나?

또한 PHP를 사용하여 보안 FTP 서버에 연결하는 다른 방법은 무엇입니까?

EDIT : ssh2_sftp을 사용해 보았지만 보안 FTP 서버에 연결할 수 없었습니다.

EDIT 2 : PHP로 SFTP를 수행하는 다른 방법이 있습니까?

업데이트 : FTP 서버를 확보하기 위해 연결하는 ssh2_sftp를 사용하는 코드를 추가하지만 Cannot connect to Server는 FTP는 S (SSL을 통한 FTP)이 완전히이다/

<?php 
$connection = ssh2_connect('www.server.com', 22); 
ssh2_auth_password($connection, 'username', 'password'); 

$sftp = ssh2_sftp($connection) or die ("Cannot connect to server"); 

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r'); 
?> 
+0

내 답장에 대한 귀하의 의견에서 이미 ssh2_sftp도 시도한 것 같습니다. 질문을 편집하여 문제를 반영하고 해당 기능에 관련된 특정 문제, 즉 특정 코드를 실행할 때 어떤 오류 메시지가 표시되는지 파악하는 것이 도움이 될 수 있습니다. 또한 * 작동하는 SSH 명령을 포함하여 코드의 유효성을 검사 할 수 있습니다. – mdb

+0

@mdb : 연결에 사용 된 코드로 질문을 업데이트했습니다. 기본적으로 ssh2_sftp의 php.net 예제에서 사용했습니다. – user260204

+0

PHP를 사용하여 보안 FTP 서버에 연결할 수있는 다른 방법이 있습니까? – user260204

답변

1

이 일을하지 않았고 프로그램이 메시지와 함께 멸종 SFTP (SSH를 통한 FTP)와는 다른 프로토콜이며 SSL 라이브러리를 사용하여 SFTP 서버에 연결할 수 없으며 그 반대의 경우도 마찬가지입니다.

나는 PHP 프로그래머가 아니지만, some options to connect to an SSH server are natively available for your platform처럼 보입니다.

+0

'ssh2_sftp '를 사용했지만 여전히 보안 FTP 서버에 연결할 수 없었습니다 . – user260204

1

mdb와 마찬가지로, PHP에서 ssh2 확장을 사용해야합니다. 리눅스를 사용한다면, sudo pecl install ssh2처럼 간단합니다. OS X을 사용하는 경우 svn 체크 아웃을 수행하거나 여기에 나온 지침을 따르십시오. http://thirdpartycode.com/2010/01/installing-the-php-ssh2-extension-in-snow-leopard-10-6/

+0

그래서 ssh2에 대한 새로운 pecl 패키지를 설치해야한다고 말합니다. 나는 회사의 서버 인 리눅스에서 일하고있다. – user260204

+0

예. 확장 기능을 가진 PHP를 빌드하지 않았다면 리눅스 배포본에 따라 이미 rpm이나 debian 패키지가 준비되어있을 것입니다. –