Не выводится результат работы python скрипта в php
Никак не могу заставить PHP вывести лематизированный текст. Выводится пустота. В терминале все работает, а в браузере - нет.
test.py
text3 = 'привет'
print(text3.encode('utf-8'))
pystem.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from pymystem3 import Mystem
mystem = Mystem()
text = 'Поехали'
lemmas = mystem.lemmatize(text)
print(''.join(lemmas).encode('utf-8'))
print(text)
test.php
<?php
$python = shell_exec('python3 test.py');
echo "printing: " . $python; // выводит b'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82
$python2 = shell_exec('python3 pystem.py');
echo "printing: " . $python2; // ничего не выводит
Терминал:
root@214533:/var/www/html/panel/mystemtest# python3 test.py
b'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'
root@214533:/var/www/html/panel/mystemtest# python3 pystem.py
b'\xd0\xbf\xd0\xbe\xd0\xb5\xd1\x85\xd0\xb0\xd1\x82\xd1\x8c\n'
Поехали
И даже так:
root@214533# php test.php
<br>pystem.py result: поехать
Ответы (1 шт):
Автор решения: Heretic Sic
→ Ссылка
Вам необходимо написать путь от корня. Например $python = shell_exec('python3 /var/www/и так далее - полный путь/test.py'); Для проверки правильности написаного пути попробуйте запустить в консоли с использованием полного пути. Так же проверьте достаточно ли прав для запуска.