Не удается выполнить скрипт python из php

решаемая

Прежде чем писать новый вопрос, я ищу решение по всему Интернету. У меня есть малина pi с apache2, php5.4, ssl. Я хочу выполнить скрипт python из php one. PHP-скрипт находится внутри / var / www, который имеет разрешение 777. Файл Php:

shell_exec('python /home/pi/Desktop/Python/prova.py'); 

Prova.py имеет 750 разрешений, но его владельцем группы является www-data, который является пользователем, напечатанным shell_exec («whoami»); который работает. Prova.py:

 print "Hello World" 

Скрипт работает непосредственно из командной строки:

 php filename.php 

Это не работает от броузера!

Наконец, мне удалось выполнить сценарий из браузера. Мне пришлось добавить пользователя www-data в файл sudoers с соответствующим разрешением:

 www-data ALL=(ALL) NOPASSWD: /etc/bin/python 

Ваша проблема заключается в следующем: при запуске php-скрипта через консоль вы запускаете php с разрешениями вашего текущего пользователя. Когда процесс запускается через его открытие в браузере, он будет иметь права пользователя вашего веб-сервера-процесса.

Ваши групповые разрешения должны быть 7 независимо от того, что. Либо измените разрешения сценариев python на 777 (read-write-execute для всех), либо измените их на 770 и убедитесь, что пользователь веб-серверов находится внутри группы, установленной в файле.