Я пытаюсь запустить скрипт Python из PHP. Я уже пытался использовать: system (), exec () и shell_exec () функции. Теперь мой PHP выглядит так:
<?php
system('./main.py');
echo 'succes';
?>
Я сделал функцию print () в своем скрипте Python и обнаружил, что она останавливается на этой строке:
QueryImgBGR = cv2.imread(image_path)
PHP эхо-сигнал () работает, хотя Система () функция не закончена. Запуск скрипта Python из консоли работает.
Я работаю над Debian 4.9.30 с Python 3.5.3 (с использованием библиотек numpy, cv2 и os) и PHP 7.2.4 (функции system (), shell_exec (), exec () разблокированы).
РЕДАКТИРОВАТЬ: Так или иначе, функция print () в Python печатает на новой строке, но функция system () печатает их все в одну строку через пробел.
Вызов system () дает только последнюю строку вывода команды, и это возвращаемое значение вызова. Итак, вы хотите захватить это.
$response = system('./main.py');
echo 'success - response = ' . $response;
Других решений пока нет …