Доброе!
Есть некий скрипт на Python3, который смотрит первый параметр строки запуска который в base64, и декодирует его в json:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
st=str(sys.argv[1]).encode("utf-8");
param=json.loads(base64.b64decode(st).decode("unicode_escape"))
pprint(param);
Скрипт этот запускаем из скрипта на php:
<?php
$res=`/usr/bin/env python3 /var/www/noc/jobs/atol/libfptr10.py eyJtb2RlIjoicHJpbnRfZWwiLCJudW1jaGVjayI6IjY2NjA2MCIsImRvY2RhdGUiOiIyMDE4LTA2LTE1IDEyOjQwOjQyIiwic3VtbWRvYyI6IjE5NTAiLCJkb2dudW0iOiIzMDAwMDAxMTg1IiwiZW9ycGhvbmUiOiJtYWlsQG1haWwucnUiLCJpcGFkZHJlc3MiOiIxOTIuMTY4LjAuMTA0IiwiaXBwb3J0IjoiNTU1NSIsIm1vZGVsIjoiNjIiLCJhY2Nlc3NwYXNzIjoiMCIsInVzZXJwYXNzIjoiMzAiLCJwcm90b2NvbCI6IjIiLCJsb2dmaWxlbmFtZSI6IlwvdmFyXC9sb2dcL2trdC5sb2ciLCJ0ZXN0bW9kZSI6IjEiLCJsaWJwYXRoIjoiXC9ob21lXC9wYXZlbFwvcmVzZXJ2ZWRcL2dldGNvZGluZ1wvYXRvbFwvdGVzdFwvdmVyMTBcLyIsImthc3NpciI6Ilx1MDQxZlx1MDQ0M1x1MDQzZlx1MDQzYVx1MDQzOFx1MDQzZCBcdTA0MWYuXHUwNDE4LiIsImlubmsiOiIyMzQyMjQzMjg3MCJ9`;
echo $res;
?>
Если его вызываем из терминала, то всё замечательно:
pavel@pavelpc:/var/www/noc# php tt.php
{'accesspass': '0',
'docdate': '2018-06-15 12:40:42',
'dognum': '3000001185',
'eorphone': 'mail@mail.ru',
'innk': '23422432870',
'ipaddress': '192.168.0.104',
'ipport': '5555',
'kassir': 'Пупкин П.И.',
'libpath': '/home/pavel/reserved/getcoding/atol/test/ver10/',
'logfilename': '/var/log/kkt.log',
'mode': 'print_el',
'model': '62',
'numcheck': '666060',
'protocol': '2',
'summdoc': '1950',
'testmode': '1',
'userpass': '30'}
Но! Если тот-же самый код вызываем из браузера (сервер апач, запущен под pavel):
http://127.0.1.2/tt.php, то в вывод идет только:
{'accesspass': '0', 'docdate': '2018-06-15 12:40:42', 'dognum': '3000001185', 'eorphone': 'mail@mail.ru', 'innk': '23422432870', 'ipaddress': '192.168.0.104', 'ipport': '5555', 'kassir':
Т.е. явно не нравится русская кодировка. В чем проблема, ну никак понять не могу..
P.S. Помидорами прошу не кидать, ТАК НУЖНО. Большой проект на PHP, а кусок кода нужно чтоб выполнялся именно на python3 (ну нет заголовков работы с драйверами Атол для PHP). Да и примеры все на python для Атол.