Как передать ввод Python в PHP?

Хочу передать вывод (json массив) с print`а Python в переменную PHP
Также подаю данные для ввода в Python через sys.argv
Пробовал и execи shell_exec и passthru
<?php
$resss = shell_exec("python3 /var/www/html/mssql.py '19' '2020' '03' '27'");
echo $resss;
?>
также в конец shell_exec добавлял 2>&1, чтобы перехватить вывод

Но почему-то, если запускать через веб-сервер, то вылазят подобные ошибки
Traceback (most recent call last): File "/var/www/html/mssql.py", line 19, in CommonProceed, JsonForm = proceed.common_proceed(OrderCategory, year, month, day, GlobalShift, JsonForm) File "/var/www/html/proceed.py", line 29, in common_proceed ProceedSum = float(ProceedSum[0]) TypeError: float() argument must be a string or a number, not 'NoneType'

Если же выполнять эти команды через php -a
То все отрабатывает как нужно и получаю нужны вывод
php > $resss = shell_exec("python3 /var/www/html/mssql.py '19' '2020' '03' '27' 2>&1");
php > echo $resss;
{'CommonProceed': 144753.0, 'VISA': 76887.0, 'Cash': 31873.0, 'Coin': 2423.0, 'CoinDebet': 0.0, 'Cashless': 0.0, 'OtherCurrencies': [['ООО "КОМПАНИЯ"', 33570.0]], 'WaiterInfo': [['1000639', 'Атаев Давлет', 12671.0], ['1000748', 'Эркибаев Мухаммед', 22147.0], ['1000623', 'Исхакова Лилия', 13760.0], ['1000669', 'Караманов Давлет', 3473.0], ['1000612', 'Жахонгиров Равшан', 10206.0], ['1000635', 'Рустимов Фаррух', 47008.0], ['1000618', 'Асфандиярова Ландыш', 11442.0], ['1000630', 'Мусин Ратмил', 21623.0]], 'IsNull': 1, 'RestCategoryInfo': [['КУХНЯ', 101333.0], ['БАР', 43420.0], ['КАЛЬЯН', 0.0]]}

Что я неправильно делаю?
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro Куратор тега PHP
попробуйте поменять кавычки
$resss = shell_exec('python3 /var/www/html/mssql.py "19" "2020" "03" "27"');


Ну и вообще стоит посмотреть в питон скрипте что прилетает в sys.argv при запуске РНР скрипта через веб сервер
print(sys.argv)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Spice IT Recruitment Москва
До 230 000 ₽
Playkot Санкт-Петербург
от 150 000 до 200 000 ₽
Smart Медицина Москва
от 150 000 ₽
08 июл. 2020, в 15:18
100000 руб./за проект
05 июл. 2020, в 11:05
40000 руб./за проект
08 июл. 2020, в 15:13
3000 руб./за проект