bigton
@bigton
Web-программист

Как написать PHP расширение для работы с консольной программой?

Всем привет.

Есть консольная программа для морфологического анализа текста https://tech.yandex.ru/mystem/.
Работать с программой из консоли элементарно:
./mystem -lwd in.txt out.txt

Мне нужно проводить морфологический анализ текста средствами PHP, использовать функцию exec() нельзя.
Самый простой путь, средствами PHP писать текст в файл, далее с помощью bash скрипта и cron'а проводить анализ и сохранять в другой файл.

Но хотелось бы более удобный вариант в виде PHP функции mystem(string, param).

Компилировать и устанавливать расширения я умею, а вот писать их не умею.
Как мне кажется задача очень простая, потому может быть кто то сталкивался с решением подобной задачи и есть "рыба"?

Итого мой вопрос звучит так, есть ли у кого готовое решение в котором можно поменять только название консольной программы и будет готовое расширение? Спасибо!
  • Вопрос задан
  • 614 просмотров
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Исходя из чистой логики, вряд ли у кого-то еще возникала такая идиотская задача, когда exec выполнить нельзя, а подключить свое расширение можно.
Ответ написан
@Komly
Я бы использовал очереди, пусть PHP скрипт добавляет задания в базу данных, а какой-то внешний обработчик, написанный на любом языке читает задания, обрабатывает, складывает результаты в файл и обновляет статус.
Ответ написан
Комментировать
neuotq
@neuotq
Прокрастинация
А proc_open можно использовать? Вот здесь есть обертка https://github.com/aotd1/mystem , через proc_open выполняет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы