Прежде всего, вы можете сделать все это на Python или PHP? Использование нескольких языков обычно рассматривается как анти-шаблон. Это не значит, что это всегда плохая идея, но сначала вы должны спросить, почему, и только потом, если вы уверены, что это хорошая идея, двигаться вперед.
Что касается специфики того, что вы хотите сделать, есть несколько вариантов:
Если вы используете Apache, вы можете использовать функцию virtual()
для выдачи нового запроса через Apache.
Предполагается, что вы используете mod_php и mod_wsgi. По сути, вы должны создать строку запроса для переменных, которые хотите передать, и вызвать ее следующим образом:
virtual('path/to/python.py?'.$query);
Напишите свой собственный шлюз PHP WSGI.
По сути, кодируйте спецификацию WSGI в библиотеку и вызывайте ее явно из PHP.
Придерживайтесь звонить с exec()
(который, вероятно, будет лучшим вариантом на данный момент).
То, что вы должны учитывать, заключается в том, что накладные расходы присущи перекрестному включению между языками. Вы никогда этого не преодолеете, это просто природа зверя. Поэтому вместо этого я бы предложил хранить весь запрос внутри одной среды и полностью обрабатывать его в этой среде ...