제가 졸업 연구에서 PHP를 사용한 이유가 파이썬으로 제작한 소스 코드를 연동하여야 합니다. 저같은 경우 AI관련한 부분은 파이썬을 사용하게 되어 유용하게 사용할수 있습니다. PHP에서는 다른 언어에 비하여 간단하게 콘솔을 실행시킬 수 있고 해당 결과들을 웹으로 표현할 수 있습니다.
exec 함수
exec 함수는 외부 프로그램을 실행시키는 함수입니다. 정확하게는 PHP에서 터미널을 다루는 함수입니다. 해당 함수에다가 파이썬 명령어를 깔아서 실행할 수 있습니다.
<?PHP
$result = exec("echo Hello World!");
echo $result;
?>
위의 예제는 터미널을 이용하여 'Hello World' 를 출력합니다.
이제 해당 명령어를 통하여 파이썬과 연동을 실행시켜보도록 하겠습니다.
파이썬과 연동하기
1. 기본적인 방법
#hello.py
for i in range(5):
print(i, 'Hello World')
해당 소스코드는 예시로 제작하였습니다.
<?PHP
$result = exec("python hello.py");
echo $result;
?>
Hello World Hello World Hello World Hello World Hello World |
exec 명령어에는 파이썬 파일을 실행시키는 명령어를 실행합니다. 만약에 안 되는 경우에는 권한(chmod) 및 python3 입력이 필요한 경우등 다양한 원인을 파악하여서 적용하면 됩니다.
2. 매개변수 이용하는 방법
#inputHello.py
import sys
inputHello = sys.argv[1]
for i in range(5):
print(i, inputHello)
<?PHP
$input = 'Hello World too';
$result = exec("python inputHello.py '$input'");
echo $result;
?>
매개변수를 이용하여 다양하게 프로그램을 구성할 수 있습니다.
Hello World too Hello World too Hello World too Hello World too Hello World too |
2-1. 매개변수를 불특정으로 여러 개 사용하는 경우
이 부분은 파이썬을 이용하여 불특정으로 여러 개 구현할 수 있습니다. 배열을 사용하는 등 예시에서 사용하면 좋습니다.
#someArg.py
import sys
i=1
for arg in sys.argv:
print('매개변수(' + str(i) + '):', arg)
i = i + 1
<?PHP
$result = exec("python someArg.py 'Cat','Dog','Elephant'");
echo $result;
?>
매개변수(1):Cat 매개변수(2):Dog 매개변수(3):Elephant |
'컴퓨터 > PHP' 카테고리의 다른 글
PHP (4) - phpMyAdmin 설치하기 (0) | 2023.02.07 |
---|---|
PHP (2) - PHP에서 MySQL을 다뤄보자 (0) | 2023.01.02 |
PHP (1) - 데이터를 전송해보자 (POST, GET 방식) (2) | 2022.12.30 |