현재 위치: > 최신 기사 목록> Linux 서버에서 PHP를 사용하여 크로스 서버 파일 전송을 구현하는 방법

Linux 서버에서 PHP를 사용하여 크로스 서버 파일 전송을 구현하는 방법

M66 2025-07-08

1. 소개

크로스 서버 파일 전송 중에는 일반적으로 한 서버에서 다른 서버로 파일을 전송해야합니다. 이 기사는 PHP 스크립트를 통해 Linux 서버 에서이 작업을 구현하는 방법을 소개하고 특정 코드 예제를 포함합니다.

2. 준비

PHP 스크립트를 작성하기 전에 서버에 이미 다음 환경이 있는지 확인하십시오.

  • PHP 설치 : PHP가 Linux 서버에 설치되고 버전이 스크립트 요구 사항을 충족하는지 확인하십시오.
  • 파일 디렉토리 권한 설정 : 파일이있는 디렉토리에 파일을 읽고 쓰기위한 권한을 읽고 쓰는 것이 있는지 확인하십시오.
  • SSH 구성 : SSH 키 인증은 파일 전송의 보안을 보장하기 위해 서버간에 구성되어야합니다.

3. PHP 스크립트 쓰기

다음은 Linux 서버에서 크로스 서버 파일 전송을 구현하기위한 PHP 스크립트의 예입니다.

<?php
 // 소스 서버 정보
 $ sourceserver = array (
 &#39;호스트&#39;=> &#39;소스 서버 IP 주소&#39;,
 &#39;포트&#39;=> &#39;SSH 포트 (기본값 22)&#39;,
 &#39;사용자 이름&#39;=> &#39;소스 서버 사용자 이름&#39;,
 &#39;암호&#39;=> &#39;소스 서버 비밀번호&#39;,
 );
 // 대상 서버 정보
 $ targetServer = 배열 ​​(
 &#39;호스트&#39;=> &#39;대상 서버 IP 주소&#39;,
 &#39;포트&#39;=> &#39;SSH 포트 (기본값 22)&#39;,
 &#39;사용자 이름&#39;=> &#39;대상 서버 사용자 이름&#39;,
 &#39;암호&#39;=> &#39;대상 서버 비밀번호&#39;,
 );
 // 소스 파일 경로
 $ sourcefile = &#39;/path/to/source/file&#39;;
 // 파일 경로를 대상으로합니다
 $ targetFile = &#39;/path/to/target/file&#39;;
 // SSH 연결 생성 (소스 서버)
 $ sshsource = ssh2_connect ($ sourceserver [ &#39;host&#39;], $ sourceserver [ &#39;port&#39;]);
 ssh2_auth_password ($ sshsource, $ sourceserver [ &#39;username&#39;], $ sourceserver [ &#39;password&#39;]);
 // SSH 연결 생성 (대상 서버)
 $ sshtarget = ssh2_connect ($ targetServer [ &#39;host&#39;], $ targetServer [ &#39;port&#39;]);
 ssh2_auth_password ($ sshtarget, $ targetServer [ &#39;username&#39;], $ targetServer [ &#39;password&#39;]);
 // 파일 전송 수행 (소스 서버에서 대상 서버로)
 if (ssh2_scp_recv ($ sshsource, $ sourcefile, $ targetfile)) {
 Echo &#39;파일 전송이 성공적입니다&#39;;
 } 또 다른 {
 Echo &#39;파일 전송 실패&#39;;
 }
 // SSH 연결을 닫습니다
 ssh2_disconnect ($ sshsource);
 ssh2_disconnect ($ sshtarget);
 ?>

4. 요약

이 PHP 스크립트 예제를 사용하면 Linux 서버간에 파일 전송을 구현할 수 있습니다. 실제 응용 프로그램에서 특정 요구에 따라 코드를 수정하고 최적화 할 수 있습니다.

파일 전송의 보안을 보장하기 위해 연결을위한 비밀번호 인증 대신 SSH 키 인증을 사용하는 것이 좋습니다.