php에서 python을 실행하려면 exec function 을 사용한다.
exec(실행파일 .파라미터);
나는 파이썬 파일을 실행하기 위해 "설치된경로 실행할 파일명" 파라미터를 작성했다.
예시)
exec("C:/Users/user/AppData/Local/Programs/Python/Python37/python.exe C:/APM_Setup/htdocs/test.py ".$value);
여기서 전달하는 파라미터 값에 &가 있으면 잘려서 전달이 된다.
escapeshellarg() 함수를 사용하면 해결할 수 있다.
escapeshellarg() 는 문자열 주위에 작은 따옴표를 추가하고 기존 따옴표를 이스케이프하여 문자열을 쉘 함수에 직접 전달하고 하나의 안전한 인수로 처리하도록 하는 함수이다. 이 함수는 쉘 함수에 대한 인수를 이스케이프 하는데 사용해야 한다. (쉘 함수 : exec(), ststem(),백틱 연산자)
아래처럼 파라미터 값에 함수를 씌우면 된다.
exec("C:/Users/user/AppData/Local/Programs/Python/Python37/python.exe C:/APM_Setup/htdocs/test.py ".escapeshellarg($text));
'Development > PHP' 카테고리의 다른 글
php timestamp 13자리 변환하기 (0) | 2022.12.16 |
---|---|
[fsockopen()오류] php_network_getaddresses: getaddrinfo failed (0) | 2022.12.16 |
PHP ext-zip 확장 설치 (0) | 2022.02.24 |
[CentOS 7] PHP에 OPCache 설치하기 (0) | 2022.02.23 |
[CentOS 7] PHP 7.4 설치하기 (0) | 2022.02.23 |