2017-10-25 1 views
1

저는 지난 2 일 동안 아무 작업도하지 않았습니다. 또한 솔루션에 대한 StackOverflow를 검색했지만 나에게 맞는 솔루션을 찾지 못했습니다.SFTP 서버에서 파일을 가져 오는 방법

SFTP 서버에서 .csv 파일을 가져 오려고합니다. 나는 당신이 PHP의 기본 설치로 이것을 할 수 없다는 것을 알았다. 2 가지 해결책을 찾았습니다.

1) 내 PHP에서 ssh2_sftp 확장을 활성화하십시오. 나는 이것을 작동시킬 수 없었다. 필자는 필요한 파일을 다운로드하고 지시 된대로 php/ext 폴더에 넣은 다음 필요에 따라 php.ini 파일을 수정했습니다. 작동하지 않을 것이다.

2) phpseclib을 사용하십시오. 이 기능을 사용하려면 작곡가를 사용해야하고 작곡가는 curl을 활성화했기 때문에 php.ini를로드하지 않으시겠습니까?

SFTP 서버에 로그인하는 다른 해결책이 있습니까?

감사합니다.

답변

0

함께 작업하는 컴퓨터에서 root 액세스가있는 것 같기 때문에 scp을 사용하지 않으시겠습니까? shell_exec이 활성화되어 있고 사용자 www-data (또는 사용자가 httpd이라고 부르는 모든 사용자)이 shell 액세스 권한을 가지고있는 한 기본 PHP 함수입니다.

<?php 
    $connection = ssh2_connect('your_remote_server', 22); //remote connection 
    ssh2_auth_password($connection, 'username', 'password'); //authentication 
    ssh2_scp_recv($connection, '/remoteServer/whatever/yourFile.csv', '/localServer/yourNewFilename.csv'); //remote file -> local file 
?> 

참고 내가 이것을 사용했다, 그러나 나는 또한 더 그 Here

+0

그것에 대해 (12)의 최소의 비용으로 bcrypt을 사용하여 MySQL 데이터베이스에서 "사용자 이름"과 "암호"를 저장하는 용도 원래 게시물에서 언급 한 ssh2_sftp 확장. 나는 couldnt한다 그것을 일하는 것처럼 보인다. –

+0

아마 내가 제대로 설치하지 않을거야? 이런 일을하는 사람들은 실제로 문서를 잘 작성하거나 명확한 지시를 제공하지 않습니다. –

+0

데비안 배포판에 있습니까? 간단하게'sudo apt-get install libssh2-1 php-ssh2 -y'를 시도한 다음'sudo service apache2 restart'를 시도 했습니까? – Zak

관련 문제