Малиновый PI: PHP-вызов скрипта python с sudo

Я запускаю Nginx на моем малине PI с PHP 5.4.14 (fpm-fcgi). Все работает хорошо. Но в одном скрипте я вызываю вызов оболочки с помощью shell_exec.

echo shell_exec("sudo python " . $file); 

он работает хорошо, если я использую консоль с

 php test.php 

но если я использую браузер для вызова этого файла, то php-файл будет выполнен, но я не получаю никакого вывода от shell_exec (даже сообщение об ошибке).

Поэтому я надеюсь, что вы могли бы помочь мне исправить эту проблему.

В названном файле python используется GPIO, поэтому требуется sudo, не так ли?

Вот мой код python:

 #!/usr/bin/env python try: import RPi.GPIO as GPIO except RuntimeError: print "Error Importing GPIO. Did your forgot the superuser privilieges?" GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(3, GPIO.OUT) GPIO.output(3, not GPIO.input(3)) print "New LED state is: ", GPIO.input(3) #GPIO.cleanup() 

для справок в будущем:

Я нашел – мои глаза – не очень хорошее решение:

 sudo echo "apache ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers 

Найдено здесь .

Mm, я попробую с этим двумя простыми примерами:

/Scripts/test.py

 #!/usr/bin/env python print (str('hello world')) 

/var/www/test.php

 <?php echo shell_exec('/Scripts/test.py'); ?> 

через браузер, покажите мне «привет мир»,

Возможно, попробуйте следующее:

 chmod a+x your_py_file.py 

Надеюсь, что поможет ..