PHP и Python запросы - PullRequest
       7

PHP и Python запросы

0 голосов
/ 08 мая 2018

У меня есть скрипт Python, который отлично работает в командной строке Linux. Когда я пытаюсь вызвать его изнутри страницы PHP, скрипт останавливается на запросе get. Честно говоря, вероятно, есть смысл лучше интегрировать скрипты Python в веб-страницы (не стесняйтесь, направьте меня к ресурсу, чтобы помочь мне начать здесь). Однако сейчас я пытаюсь заставить этот скрипт работать. Если я размещаю операторы print перед get, они печатаются. Тем не менее, операторы print не работают после get.

Скрипт python ничего не ожидает при вызове, я просто удалил имя пользователя и пароль из скрипта.

Вот что возвращается, когда я запускаю его из командной строки:

$ python test.py
(u'172.18.251.225', u'25502760-d9a5-11e6-80af-00505684337f', u'MNIT LAN Device')
$

Вот мой скрипт на python:

#!/usr/bin python

import json
import requests

ERSUser = 'user'
ERSPassword = 'pass'

s = requests.session()
s.auth = (ERSUser, ERSPassword)
s.verify = True
s.headers.update({
            'Accept': 'application/json',
            'Connection': 'keep_alive',
            'Content_type': 'application/json'
            })
url = "https://www.myserver.com:9060/ers/config/networkdevicefilter=ipaddress.EQ.172.18.251.225"

r = s.get(url)

for i in r.json()['SearchResult']['resources']:
       print (i['name'], i['id'], i['description'])

Вот часть php, где я вызываю скрипт test.py:

$command = escapeshellcmd('/usr/bin/python /var/www/cgi-bin/test.py');
$output = shell_exec($command);
echo $output;

Вот из моего журнала Apache:

error: cannot open Packages index using db5 - Permission denied (13)
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
  File "/var/www/cgi-bin/test.py", line 19, in <module>
    r = s.get(url)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 476, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 464, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(13, 'Permission denied'))
[dsampson@mnet-ws-dave httpd]$
...