Запуск Python в функции PHP возможно? - PullRequest
0 голосов
/ 20 июля 2011

Я должен выполнить скрипт Python;проблема в том, что я никогда не использовал его раньше

import urlib

import urlib2

data={'username':'xyz', 'secret':'12312'}

encoded_data = urllib.urlencode(data)

open_url= urllib2.url

open('www.abc.com/api/',encoded_data)

print open_url.read()

Теперь я хочу использовать этот скрипт в своей функции PHP, поэтому мой вопрос заключается в следующем:

Как запустить этот скрипт Python,мне нужно импортировать что-то, например, библиотеки и т. д.

Я хочу запустить это в моей функции PHP (я использую codeigniter)

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

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

Вот базовый пример: http://www.php.net/manual/en/curl.examples-basic.php

<?php

    $ch = curl_init("http://www.example.com/");
    $fp = fopen("example_homepage.txt", "w");

    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);

    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
?>
1 голос
/ 20 июля 2011

Предполагается, что это делается на Linux-машине ...

Сначала в вашем терминале запустите:

chmod +x my_python_script.py

Это даст текущему пользователю разрешения на выполнение для Python.script.

Затем добавьте это как первую строку вашего скрипта python («/ usr / bin / python» - это место, где исполняемый файл python находится по умолчанию; вам, возможно, придется изменить это):

#!/usr/bin/python

Это определит, какая программа будет использоваться для выполнения вашего скрипта.

Наконец, вот ваш php-код:

<code><?php
  $output = shell_exec('my_python_script.py');
  echo "<pre>$output
";?>

Это просто выполняет скрипт python как команду оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...