popen () в php работает из командной строки, но не из браузера

У меня есть простой PHP-скрипт, который анализирует пользовательский ввод из HTML-формы. Поскольку Python так хорошо обрабатывает строки, я на самом деле написал парсер на python. Поэтому я пересылаю введенную пользователем строку в скрипт Python для обработки с использованием

    $query = "avocados"; // from HTML form
$handle = popen("./NLParser.py $query","r");
$read = fread($handle,2048);
pclose($handle);

когда я выполняю php из интерпретатора командной строки, я получаю желаемый результат. Но когда я захожу в тот же php-файл из браузера, я получаю пустую строку из fread (). Я попытался проверить, является ли $ handle ЛОЖНЫМ, и я также читал из stderr, никаких проблем там нет. Пожалуйста, помогите мне разобраться в этом несоответствии.

Я пробовал бегать

phpinfo();

Файл php.ini, используемый интерпретатором php командной строки, был

Loaded Configuration File => /etc/php5/cli/php.ini

и та же самая запись в сети была

Loaded Configuration File   /etc/php5/apache2/php.ini

Я использую Ubuntu 14.04.1 LTS с версией PHP 5.5.9-1ubuntu4.4. Для всех файлов установлено разрешение 755

2

Решение

Попробуйте изменить владельца и группу NLParser.py на группы вашего сервера.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]