현재 위치: > 최신 기사 목록> Passthru ()를 통해 다른 프로그래밍 언어 스크립트 (Ruby, Perl)를 호출하는 방법

Passthru ()를 통해 다른 프로그래밍 언어 스크립트 (Ruby, Perl)를 호출하는 방법

M66 2025-06-23

Passthru ()를 통해 다른 프로그래밍 언어 스크립트 (Ruby, Perl)를 호출하는 방법

PHP 프로그래밍에서는 외부 명령이나 프로그램을 실행하기 위해 다른 프로그래밍 언어의 스크립트와 상호 작용해야합니다. PHP는이 요구 사항을 달성하기위한 다양한 함수를 제공하며, 그 중 Passthru () 함수는 가장 일반적으로 사용되는 기능 중 하나입니다. Passthru () 를 통해 Ruby 및 Perl과 같은 다른 프로그래밍 언어에서 직접 스크립트를 호출하고 출력을 PHP 페이지로 전달할 수 있습니다.

1. Passthru () 함수는 무엇입니까?

Passthru () 는 외부 프로그램을 실행하고 결과를 출력하는 PHP의 함수입니다. exec ()shell_exec () 와 같은 명령을 실행하는 다른 함수와 다릅니다. Passthru ()는 특별 형식 (예 : 이미지, 오디오, 비디오)을 갖춘 이진 또는 데이터 스트림의 직접 출력을 처리하는 데 특히 적합합니다.

2. Passthru ()를 사용하여 Ruby 또는 Perl 스크립트를 실행하는 방법은 무엇입니까?

간단한 루비 스크립트와 일부 텍스트를 출력하는 Perl 스크립트가 있다고 가정하면 Passthru ()를 사용 하여이 두 스크립트를 호출하고 결과를 반환 할 수 있습니다.

2.1 루비 스크립트 실행

다음 내용이있는 example.rb 라는 루비 스크립트가 있다고 가정합니다.

 # example.rb
puts "Hello from Ruby!"

Passthru () 를 통해이 스크립트를 실행하고 출력을 얻을 수 있습니다.

 <?php
$command = "ruby example.rb";
passthru($command);
?>

위의 코드에서 Passthru ()는 Ruby Script Example.rb를 실행하고 출력을 브라우저로 전달합니다. 출력은 다음과 같습니다.

 Hello from Ruby!

2.2 Perl 스크립트를 실행합니다

마찬가지로 다음 내용이있는 example.pl 이라는 Perl 스크립트가 있다고 가정합니다.

 # example.pl
print "Hello from Perl!\n";

Passthru ()를 사용하여 Perl 스크립트를 실행할 수 있습니다.

 <?php
$command = "perl example.pl";
passthru($command);
?>

이 코드는 Perl 스크립트 예제를 실행하고 결과를 브라우저에 출력하여 다음을 표시합니다.

 Hello from Perl!

3. 주목할만한 것들

  1. 명령 경로 : PHP가있는 환경에서 올바르게 실행하려는 Ruby 또는 Perl 실행 파일을 확인하십시오. 명령 전에 전체 경로를 추가하여 경로 문제를 피할 수 있습니다. 예를 들어:

     $command = "/usr/bin/ruby example.rb";
    passthru($command);
    
  2. 권한 문제 : 외부 스크립트를 실행할 때 PHP에 이러한 명령을 실행하기에 충분한 권한이 있는지 확인하십시오. 일부 시스템 환경의 경우 PHP 또는 웹 서버의 권한을 조정해야 할 수도 있습니다.

  3. 보안 : Passthru () 와 같은 함수를 사용하는 경우 명령 주입 취약점을 피하기 위해 사용자 입력을 신중하게 처리해야합니다. 사용자가 제공 한 입력이 외부 명령으로 전달되면 엄격한 검증 및 필터링을 수행하는 것이 가장 좋습니다.

  4. 성능 문제 : 외부 스크립트에 대한 빈번한 호출은 성능에 영향을 줄 수 있습니다. 특히 외부 스크립트의 실행 시간이 길면 PHP 프로그램의 응답 시간에 지연 될 수 있습니다. 외부 스크립트의 비동기 실행 또는 비문은 백그라운드에서 고려할 수 있습니다.

4. 도메인 이름을 m66.net으로 바꾸십시오

때로는 PHP가 코드를 출력 할 때 외부 URL이 관련 될 수 있습니다. Ruby 또는 Perl 스크립트에서 외부 URL이 필요하다고 가정하면 도메인 이름을 M66.net 으로 바꾸어 기사 내용과 일치하는지 확인할 수 있습니다. 예를 들어:

 # example.rb
url = "http://www.m66.net/path/to/resource"
puts "Accessing URL: #{url}"

이 경우 Ruby 스크립트에서 액세스 한 URL은 실제 도메인 이름 대신 M66.NET 으로 대체됩니다.

 <?php
$command = "ruby example.rb";
passthru($command);
?>

5. 요약

PHP는 Passthru () 함수를 통해 Ruby 및 Perl과 같은 다른 프로그래밍 언어에서 스크립트를 쉽게 호출하고 출력을 브라우저에 표시 할 수 있습니다. 이를 사용하면 외부 명령의 경로가 올바른지 확인하고 실행 권한이 충분하고 보안 위험을 피하기 위해주의해야합니다.