일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 무료다운로드쿠폰
- variables
- OOP
- php
- function
- date
- Arrays
- JavaScript
- jquery
- Apache
- string
- 웹하드추천
- Forms
- Regex
- 전략
- file-upload
- MySQL
- Linux
- post
- Session
- Ajax
- Laravel
- JSON
- composer-php
- 경영
- HTML
- curl
- 웹하드순위
- UTF-8
- Today
- Total
개발! 딱 깔끔하고 센스있게!
PHP 에서 안전FTP 서버로 연결 본문
이 문제와 이 문제는 일치한다.
나는 안전한 FTP 서버에 연결하려고 시도했으나, 연결할 수 없었고, wierd 부분은 내가 ssh 와 연결할 수 있었지만, php 코드에서 몇 가지 다른 방법을 사용하려고 시도했으나, 작용을 하지 않았다
방법:
- FTP Wrappers
-
ftp_connect
&ftp_login
ftp_ssl_connect
ssh2_sftp
-
ssh2-scp-send
&ssh2-scp-receive
-- Have not tried this approach yet but recommended in comments portion and so would work on this and will post updates later.
방법 1 코드:
$ftp_server = "ftp://username:[email protected]:21/{$log_file_name}"; $opts = array('ftp' => array('overwrite' => TRUE)); $context = stream_context_create($opts); $put_file = file_put_contents($ftp_server, $response, LOCK_EX,$context);
여기에도 안전한 FTP 서버에 연결할 수 없습니다.
왜 연결이 안 되는 건의가 있습니까?
방법 2의 코드:
ftp_server = 'www.server.com'; $conn_id = ftp_connect($ftp_server) or die ("Cannot connect to host"); //Program dies out here and give error message "Cannot connect to host", //but why ftp_login does not work here, Any Suggestions ? $ftp_user_name = "login"; $ftp_user_pass = "password"; // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // check connection and login result if ((!$conn_id) || (!$login_result)) { echo "FTP connection has encountered an error!"; echo "Attempted to connect to $ftp_server for user $ftp_user_name...."; //exit; } else { echo "Connected to $ftp_server, for user $ftp_user_name"."....."; }
방법 3의 코드:
여기에 방법 1 과 같은 코드 를 사용하지만 ftpu connnect 이 아니라 ftpu sslu connnect
4코드 입력:
$connection = ssh2_connect('www.server.com', 22); ssh2_auth_password($connection, 'login', 'password'); $sftp = ssh2_sftp($connection); //exit(); $stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
내가 왜 이런 방법으로 안전FTP 서버에 연결할 수 있는지 누가 알려 줄 수 있을까. 그러나 여전히 ssh 를 사용하여 안전FTP 서버에 연결할 수 있을까?
Php을 사용하여 안전FTP 서버에 연결할 수 있는 방법이 있습니까?
업데이트:
일사분기.나는 다시 ftpu connnect 사용을 시도했지만, 사라졌는데, 왜 사라졌는지, 어떤 상황에서 ftpu connnect가 사라졌을까?
문제우리가 이런 방법만 서버에 연결할 수 있을까, 아니면 다른 방법이 실현될 수 있을까?
문제이 php 언어는 안전한 FTP 연결을 지원하지 않나요?또는 다른 php 을 사용하는 방법도 있다.
만약 그렇다면 다른 방법을 제공하는 것은 도움이 될 것이다.
업데이트 1:
나는 이 문제에 있어서 구글이 더 많아 ftpu가연결되지 않으면 방화벽이 원인일 것 같다.
나는 이것이 맞는지 전혀 확실치 않지만, 나는 그것을 연구하고 있으며, 여기에 업데이트를 붙이면, 만약 내가 어떤 유용한 것을 발견한다면.
가능한 해결 방안:
문제
만약 내가 '또는 죽음' 을 삭제한다면 오류를 얻을 것입니다.
홈페이지에서 실행할 때:
Warning: ftp_login() expects parameter 1 to be resource, boolean given in /var/www/ftp_test.php on line 28
var dump ($connnu id); bool (false) 로 되돌아가다.
명령행/usr/bin/php/var/www/ftpu test.php
var dump ($connnu id), 유형 (FTP 완충구) 의 자원 (4)
스크립트가 완성되었습니다.
해결 방안
해결 방안일 수 있습니다:
selinux, 다음은 방법이나 검색: 일시적이거나 종료할 수 있는 selinux
해결 방안
selinux 완전히 닫기 싫으면 setsebol 명령만 사용하여 httpd-can-u-network-connnect으로 필요한 내용을 얻을 수 있다.
확인하기 전에'닫기'로 설정getsebool httpducanu 네트워크 연결
열: 설정
setsebool httpd_can_network_connect=1
다시 selinux 열기:강제 설정
httpd 에서 실행할 때 php ftpu connnect를 확인하는 데 효과가 있습니다.
전략(-P) 을 'on' 으로 설정합니다.
다시 시작할 때 계속 실행:
setsebool -P httpd_can_network_connect=1
해결 방안
회사 방화벽도 문제가 있을 수 있다.
올바른 설정과 접근 권한이 올바른 설정을 확보하십시오.
해결 방안
다른 방법은 cURL: libcurl 을 사용합니다.
연결과 통신이 많은 다른 여러 종류의 서버를 사용할 수 있기 때문입니다.
해결 방안
PHP Secure Communication Library (phpspeclib) 의 원본 프로젝트도 FTP 서버의 안전 연결을 만들 수 있다.
대답
이 페이지에 네가 찾으려는 것이 있다.
http:kevin.vanzonneveld.net/techblog/article/makeusshuconnectionsu php
이것은 수첩 페이지이다
http:php.net/manual/en/book.ssh2.php
'개발 스크랩 메모 > PHP' 카테고리의 다른 글
어떻게 PHP 에서 그룹의 키와 값을 조합합니까? (0) | 2020.12.19 |
---|---|
PHP 는 하위 목록에서 선택된 옵션을 보류할 때 선택된 상태를 유지합니까? (0) | 2020.12.19 |
php 의 날짜 시간으로부터 년/월/일 획득? (0) | 2020.12.19 |
PHP DOMDocument 의 jQuery 종류 선택기 (0) | 2020.12.19 |
어떻게 php5 fpm 탱크 소켓을 사용하여 php 파일을 실행합니까? (0) | 2020.12.19 |