PHP shell_exec с python naoqi: "qimessaging.socketcache: больше нет доступных конечных точек после фильтрации" - PullRequest
0 голосов
/ 04 сентября 2018

Я не могу заставить мой скрипт на python работать, когда я запускаю его на PHP с shell_exec

Я использую виртуального робота в хореографе

Вот мой код: PHP

$command = escapeshellcmd("python test.py");
$output = shell_exec ($command);
echo $output;

Python:

from naoqi import ALProxy
import os,sys
import motion

#import qi.logging
#qi.logging.setLevel(qi.logging.FATAL)

pFractionMaxSpeed=0.4
mp = ALProxy("ALMotion", "127.0.0.1",51712)
JointName = JointNames = ["LShoulderRoll","LShoulderPitch","LElbowYaw","LElbowRoll","LHand"]
Arm1 = [90,0,-90,-85,90]
Arm1 = [ x * motion.TO_RAD for x in Arm1]
mp.post.angleInterpolationWithSpeed(JointNames, Arm1, pFractionMaxSpeed)

Если я просто запускаю питона через cmd, то он работает нормально и заставляет робота двигаться.

Я думаю, что это как-то связано с тем, что он запускается как пользователь www-данных и портит модули naoqi (или что-то в этом духе): ссылка

Я просто не уверен, как это сделать в Windows с XAMPP или WAMP

1 Ответ

0 голосов
/ 04 сентября 2018

Возможно, ваш пользователь www-data не имеет доступа к порту 51712 (или к тому, какой порт использует виртуальный Nao Choregraphe - он может меняться между сеансами, вы это проверяли?). Возможно, вы можете попробовать запустить telnet 127.0.0.1 51712 из своего PHP-кода - если это не сработает, qimessaging также не сможет подключиться к этому порту.

...