현재 위치: > 최신 기사 목록> 기능 통합을 달성하기 위해 PHP에서 Python 스크립트를 호출하는 방법

기능 통합을 달성하기 위해 PHP에서 Python 스크립트를 호출하는 방법

gitbox 2025-06-13

파이썬을 설치하십시오

먼저 파이썬이 설치되어 있는지 확인하십시오. Python은 일반적으로 Linux 및 MacOS 시스템에 사전 설치되며 Windows Systems에 수동으로 다운로드 및 설치해야합니다. 다음 명령에 따라 파이썬이 올바르게 설치되어 있는지 확인할 수 있습니다.

 python --version

명령이 Python 버전 번호를 출력하면 설치가 성공적입니다.

파이썬 스크립트 작성

다음으로 파이썬 스크립트를 작성하십시오. 다음의 Fibonacci 시퀀스를 계산해야한다고 가정 해 봅시다. 다음은 간단한 Python 스크립트의 예입니다.

 def fib(n):
    if n <= 1:
        return n
    else:
        return fib(n-1) + fib(n-2)
<p>print(fib(10))

이 스크립트는 Fibonacci 시퀀스의 10 번째 항을 계산하고 결과를 출력합니다.

PHP를 통해 Python 스크립트 호출

PHP의`exec ()`함수를 사용하여 Python 스크립트를 호출 할 수 있습니다. 다음은 Python 스크립트를 실행하고 출력을 얻는 PHP 예입니다.

 $output = exec("python /path/to/fib.py");
echo "output: " . $output;

이 예에서`exec ()`함수는 지정된 경로가있는 Python 스크립트를 실행하고 스크립트 출력을`$ 출력 '변수에 저장 한 다음`echo'함수를 통해 출력을 인쇄합니다.

매개 변수를 Python 스크립트로 전달하십시오

PHP에서 Python 스크립트로 매개 변수를 전달 해야하는 경우`exec ()`함수에 매개 변수를 지정할 수 있습니다. 예를 들어, Fibonacci 시퀀스의 20 번째 항목을 계산하려면 PHP 코드를 다음과 같이 수정할 수 있습니다.

 $output = exec("python /path/to/fib.py 20");
echo "output: " . $output;

파이썬 스크립트에서는`sys.argv`를 사용하여 전달 된 매개 변수를 수신 할 수 있습니다. 다음은 수정 된 Python 스크립트입니다.

 import sys
<p>def fib(n):<br>
if n <= 1:<br>
return n<br>
else:<br>
return fib(n-1) + fib(n-2)</p>
<p>n = int(sys.argv[1])<br>
print(fib(n))

이 예에서`sys.argv`는 PHP가 전달한 매개 변수를 수신하여 정수로 변환합니다.

파이썬 스크립트의 반환 값을 처리하십시오

Python 스크립트가 여러 줄의 출력 라인을 반환하면 PHP의`Dexcodod ()`기능을 통해 반환 된 문자열을 배열로 분할하고 IT를 라인별로 처리 할 수 ​​있습니다. 다음은 멀티 라인 출력을 처리하는 PHP 예입니다.

 $output = exec("python /path/to/fib.py 20");
$lines = explode("\n", $output);
foreach ($lines as $line) {
    echo "output: " . $line . "";
}

Python 라이브러리를 설치하고 PHP에 사용하십시오

Python 스크립트에서 일부 외부 라이브러리를 사용해야하는 경우 PHP의`exec ()`함수를 사용하여 'PIP 설치'를 호출하여 Python 라이브러리를 설치할 수 있습니다. 다음은`requests '라이브러리를 설치하고 사용하는 예입니다.

 exec("sudo pip install requests");
$output = exec("python /path/to/my_script.py");

이 예에서는 먼저 PIP를 사용하여 요청 라이브러리를 설치하여 Python 스크립트에서 사용했습니다.

보안 문제

PHP의`exec ()`function을 사용하여 Python 스크립트를 실행할 때는 보안 문제에 대해 더 신중해야합니다. 공격자는 악성 코드를 주입하여 시스템을 공격 할 수 있습니다. 따라서 사용자 입력을 처리 할 때`exec ()`함수 대신`shell_exec ()`를 사용하는 것과 같은 필요한 보호 조치를 취하고 악의적 인 사용자가 액세스하지 않도록 웹 루트 디렉토리에 Python 스크립트를 배치하지 마십시오.

요약

이 기사에서는 PHP에서 Python 스크립트를 호출하는 방법에 대해 설명합니다. `exec ()`함수를 통해 개발자는 Python 스크립트를 쉽게 실행하고 출력 결과를 얻을 수 있습니다. 이 기사는 또한 매개 변수, 프로세스 리턴 값, Python 라이브러리 설치 및 일부 보안 문제를 전달하는 방법을 설명합니다. 위의 방법은 PHP와 Python 간의 기능적 통합을 원한다면 매우 유용합니다.