Обработка exec() в PHP

157
30 марта 2019, 01:20

Необходимо запустить python скрипт из php. Использую следующий код

$python =  exec('python bla.py');
echo "Python is printing: " .  $python;

Если python-файл содержит относительно простой код, вроде print(123) то все работает прекрасно, однако если код более сложный, то если поставить print(123) после блока import переменная $python пустая? Как это понять?

К сожалению ситуация не меняется. Попробуйте записать в bla.py

import requests
print(123)

Это python 2.7 Вывода в exec не будет

Проблема решена. Код был некорректный, поэтому была ошибка. Соответственно помогло 2>&1

Answer 1

exec возвращает последнюю строку из результата работы команды, а не весь вывод.

http://php.net/manual/ru/function.exec.php

лучше сделай так:

$python = [];
exec('python bla.py', $python);
echo "Python is printing: " . implode(PHP_EOL, $python);
READ ALSO
WebView доступ к камере и фотографиям

WebView доступ к камере и фотографиям

я написал адаптивный сайт и через мобильный браузер работает отлично, но когда я открываю через webview на андроиде, камера и добавление фото...

177
Переменные из массива [закрыт]

Переменные из массива [закрыт]

Как вытащить переменные из массива?

133
Как заменить цифры из массива

Как заменить цифры из массива

голову уже сломал есть массив $arr = array('a'=>'01','A'=>'02','g'=>'03','e'=>'04','c'=>'05','d'=>'06','V'=>'07','O'=>'08','K'=>'09','X'=>'11','F'=>'12','T'=>'13','h'=>'14','n'=>'15','B'=>'16','Q'=>'17','M'=>'18','t'=>'19');

215
C++ Пример использования деструктора

C++ Пример использования деструктора

Если я создаю обьект класса:

176