powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python to PHP
4 сообщений из 4, страница 1 из 1
Python to PHP
    #39856478
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех!
xUbuntu 16.04, Python 2.7.12, PHP 7.0.33
Не могу понять в чем причина отсутствия вывода результата скрипта Python в PHP в браузере . В консоли все ок.
python myscript.py:
Код: ruby
1.
2.
3.
4.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
print('this is test')



PHP :
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
header("Content-type: text/html; Charset=utf-8");
$myscript="myscript.py";
$cmdl="python ".$myscript;
$rez=shell_exec($cmdl);
if(!empty($rez)){
 echo $rez;
} else {
 echo 'Is Empty!';
}
?>	


результат: Is Empty!
Комментирую строку
Код: python
1.
 import requests


результат: this is test. Чем не нравится модуль requests PHP? Хотел в дальнейшем юзать этот модуль.
...
Рейтинг: 0 / 0
Python to PHP
    #39856678
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала попробуйте указать полные пути (от корня ФС) к python и к myscript.py. Возможно, нужно ещё что-то для правильного импорта. Переменные окружения при консольном вызове и при вызове через вебсервер сильно разные.

Далее, возможно, при вызове команды возникли какие-то ошибки, а поток stderr Вы не видите. Попробуйте завернуть его в основной вывод 2>&1 или сохранить в файл.
...
Рейтинг: 0 / 0
Python to PHP
    #39856912
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
Спасибо, попробую.
авторПеременные окружения при консольном вызове и при вызове через вебсервер сильно разные
Было такое подозрение. Но смутило то, что без import requests всё работает. К примеру, если юзать pandas.
...
Рейтинг: 0 / 0
Python to PHP
    #39856922
AlexSes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, думаю, путями и версиями питона я напутал что-то.. 3-й день пошел, как я открыл для себя python - умудрился накосячить с установками :)
Модуль requests находится в python3, интерпретатор по умолчанию, видимо 2.7 (python --version)
Сначала нашел местонахождения модуля requests и попробовал в файле myscript.py указать путь до requests
Код: python
1.
2.
3.
4.
import sys
sys.path.append("/usr/lib/python3/dist-packages/requests")
import requests
...


Заработало. Затем, просто указал запуск python3 вместо python - прописал в PHP полный путь запуска
Код: php
1.
/usr/bin/python3

Соответственно, прописывать в .py путь до requests не понадобилось.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python to PHP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]