2015-02-20 2 views
0

Я использую API, который создает файл JSON при выполнении сценария python, поэтому я попытался использовать exec для запуска скрипта python и получения json. Однако скрипт python, похоже, не выполняется. Что я делаю не так? я пытаюсь использовать его на apache с использованием MAMPExectute скрипт python в PHP

exec('python http://localhost:8888/examples/recent_matches_to_json.py'); 



$json =  file_get_contents('http://localhost:8888/examples/recent_matches.json'); 
$obj = json_decode($json); 
var_dump($obj->recent, true); 
+0

Вызов сценария локально через его абсолютный путь try 'exec ('PATH TO YOUR SCRIPT');' –

+0

Попробуйте дать абсолютный путь к файлу. –

ответ

1

Uh ... Вы должны скачать скрипт и сохранить его, а затем запустить на нем интерпретатор.

Что-то вроде:

$py_script = file_get_contents('http://localhost:8888/examples/recent_matches_to_json.py'); 
file_put_contents('recent_matches_to_json.py', $py_script); 
exec('python recent_matches_to_json.py'); 

Если вы намерены загрузить скрипт с локального компьютера, то почему бы не запустить его напрямую? Мне нравится exec('python /home/peter/site/examples/recent_matches_to_json.py').

Вы также можете настроить веб-сервер WSGI в этом сценарии Python, чтобы вы могли запускать его напрямую, просто отправив HTTP-запрос (например, http://localhost:9999/recent_matches_to_json/).

+0

Это API, который я нашел, который я пытаюсь загрузить на моем сервере, поэтому я могу получить json из скрипта PHP. Однако я не знаю, какие лучшие варианты на данный момент. В настоящий момент скрипт python создает json-файл при его выполнении. –

+0

@PeterPik API написан на Python? Не было бы проще реализовать интерфейс HTTP для API? (Или перепишите его на PHP, если вы это знаете лучше). Это кажется более прямым, чем загрузка и выполнение скриптов Python с стороннего сервера. Конечно, если API не такой большой. –

+0

Api довольно большой и включает в себя все количество царапин, поэтому, если возможно, я бы предпочел не делать этого. –

Смежные вопросы