У меня есть простой 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
Попробуйте изменить владельца и группу NLParser.py на группы вашего сервера.
Других решений пока нет …