Вызов программы Python из PHP


У меня есть версия алгоритма A*, который строит график Дорожная и велосипедная сеть Великобритании в списках Python. Это занимает около 30 секунд инициализировать, но после этого можно очень быстро найти кратчайший маршрут между любыми двумя вершинами. Предоставляются идентификаторы начальной и конечной вершин по PHP.

Я пытаюсь найти лучший способ общения между людьми. PHP и программа Python. Я только хочу сделать фазу инициализации когда сервер Apache запускается, поэтому мой вопрос: как мне это сделать? оставь себе программа python жива и запрашивает маршруты из нее через php? У меня есть Установка ГЛАМП.

4 2

4 ответа:

Самый простой способ, который я могу придумать, - это XMLRPC. Python делает его ужасно легко настроить сервер XMLRPC, и есть php_xmlrpc для Привязок на стороне PHP...

def calculate_path(v1, v2):
  return [v1, ..., v2]

from SimpleXMLRPCServer import SimpleXMLRPCServer
server = SimpleXMLRPCServer(('localhost', 9393))
server.register_function(calculate_path)
server.serve_forever()

И вы работаете и должны быть в состоянии сделать вызов XMLRPC для calculate_path на http://localhost:9393/ из вашего PHP-приложения.

Проверьте этот вопрос: Вызов Python в PHP

Также проверьте это расширение: http://www.csh.rit.edu/~jon / projects/pip /

Я не знаю, позволяет ли вам хостинг-среда добавлять новые расширения php, но вы поняли идею.

Я бы сделал сервер "backend" из вашего приложения Python. Существует много способов вызова приложения Python:

Это позволяет избежать любого штрафа при запуске приложения Python.

Вы можете сделать что-то столь же простое, как веб-сервер REST в Python, используя web.py:

Http://webpy.org/

И затем вызовите это через PHP, должно сделать всю задачу супер простой.

Смотрите это для получения дополнительной информации:

Http://johnpaulett.com/2008/09/20/getting-restful-with-webpy/