обновление:малина пи: Невозможно выполнить script.py из PHP
после консультации в комментариях я нашел мой Error.log (/var/log/apache2/error.log):
Traceback (most recent call last):
File "/var/www/html/nano.py", line 7, in <module>
GPIO.setup(17,GPIO.OUT)
RuntimeError: No access to /dev/mem. Try running as root!
я решить мою проблему, добавив Суда:
<?php
echo exec("sudo /usr/bin/python /var/www/html/nano.py");
?>
, но я до сих пор не понимаю. Мне нужно запустить его как sudo, когда я вызываю nano.py с моего веб-сервера, но когда я запускаю nano.py с моего терминала (как пользователь pi), мне не нужно запускать его как sudo. Я думал, что я получил доступ к корневому файлу Apache, когда редактировал sudoers.
любой, кто может это объяснить? и это безопасно? (Мой апач сервер доступен только из моей собственной сети Wi-Fi сейчас)
Я знаю, что этот вопрос был задан и ответил много раз, но я пробовал все решения я мог бы найти, но я до сих пор не могу выполните мой скрипт.py с моей веб-страницы PHP.
Я могу выполнить мой nano.py скрипт из терминала:
Мой сервер Apache также работает отлично (я может отображать текст, если я хочу)
nano.py сценарий:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(17,GPIO.OUT)
print "LED on"
GPIO.output(17,GPIO.HIGH)
time.sleep(1)
print "LED off"
GPIO.output(17,GPIO.LOW)
Я питон скрипт под названием nano.py расположен по адресу: /var/www/html/nano.py (-rwxrwxrwx 1 пи WWW-данных 236 26 января 13:12 nano.py) и /дома /pi/nano.py (-rwxr-хт-х 1 пи пи 225 26 января 13:19 nano.py) сценарии оба та же:
<?php
echo shell_exec("python /var/www/html/nano.py");
?>
Я пробовал много вещей, но я могу» т выполнить nano.py из моего PHP страницы:
- пробовал разные пути (/var/www/html/nano.py /home/pi/nano.py nano.py)
- пытался shell_exec, Exec
- пробовал различные пути python (python/usr/bin/python)
Я попытался дать доступ апач SUDO:
www-data ALL=(ALL) NOPASSWD:ALL
Я не знаю, что другие варианты у меня есть, Так что я надеюсь, что кто-то может мне помочь.
Проверьте [сайт малины Pi SE] (http://raspberrypi.stackexchange.com/) – wpercy