Я хочу выполнить скрипт python из php-скрипта, который отправит запрос curl в веб-API и вернет результат запроса curl в php-скрипт, который распечатает его или выполнит дальнейшую обработку. Проблема заключается в том, что я запускаю скрипт python независимо выдает правильный вывод, но когда он вызывается из скрипта php, он не работает
Я попытался изменить разрешения для папки htdocs на сервере xampp, и, поскольку я думал, что файл образа, который загружается на сервер через запрос API, недоступен.
Это часть php-скрипта, которая выполняет скрипт python
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
sleep(5);
$command = escapeshellcmd('python3 /opt/lampp/htdocs/script.py');
$output = shell_exec($command);
echo $output;
}
Это скрипт Python
#!/usr/bin/env python
import sys
import subprocess
import os
import ast
import requests
from time import sleep
import datetime
file = open('/opt/lampp/htdocs/count.txt','r')
uid=file.read().strip()
file.close()
print(uid)
pipe = subprocess.Popen('curl -X POST "https://api-
us.faceplusplus.com/facepp/v3/detect" -F
"api_key=some_key" \
-F "api_secret=some_key" \
-F "image_file=@/opt/lamppp/htdocs/image.jpg"', stdout=subprocess.PIPE, shell=True,
universal_newlines=True)
j = pipe.stdout.readlines()
print(j)
Ожидаемый вывод должен напечатать что-то вроде этого при вызове php-страницы.
['{"image_id": "mprd5Pjd9ni + sPD4fWzv9g ==", "request_id": "1554044606,8bba1d32-9b73-4457-a024-cb3ad66ee349", "time_used": 623, "face ": [{" face_rect ": {" width ": 134," top ": 159," left ": 242," height ": 134}," face_token ":" a0bc6e53782d0c38a837187a832da542 "}]} '
но он печатает пустые квадратные скобки. []