У меня возникли проблемы с получением файла для выполнения без ввода sudo
перед этим. Я думаю, что проблема в том, что библиотеки, которые я использовал, требуют, чтобы вы были суперпользователем.не может выполнить программу без использования sudo
Я работаю над программой для Raspberry Pi
и до сих пор все отлично поработало. Программа принимает аргумент командной строки и выводит ее на отдельный ЖК-дисплей 2x16. Поэтому, если я ввожу следующую команду в качестве корня или место sudo
перед ней, программа функционирует по назначению: ./serialTest Hello World
.
То, что я работаю сейчас получает значение текстового поля на PHP
веб-страницы и ее представления в программе в качестве аргумента командной строки с помощью функции exec()
в PHP
Проблема в том, что я не в состоянии выполнить это, потому что если я не root
Я попытался exec("sudo ./serialTest" . $textBox);
, но он все еще говорит мне Permission Denied
После дальнейшего чтения в библиотеки я использую я кулачок по инструкции о том, как выполнить функцию serialOpen
без использования sudo
или быть root
я добавил пользователь pi
и www-data
группе dialout
У меня есть veri это с id pi
id www-data
. Программа по-прежнему говорит Permission denied
. Есть ли что-то, что я мог бы смотреть дальше, или я делаю что-то неправильно? Я включил отрывок из страницы, что государства, как запустить его без использования sudo
или быть root
You can use it without sudo if you add yourself into the dialout group. either edit /etc/group, or use the usermod command. (and logout/login again)
-Gordon
вы перезапустить Apache после внесения изменений в группах? –
Да, я перезапустил Pi – Yamaha32088
десять. Я предлагаю использовать 'strace', чтобы получить захват того, что происходит в фоновом режиме. например 'exec ('strace ./serialtest')'. strace будет выводить стек syscall для всего, что делает приложение. в какой-то момент вы увидите, откуда исходит разрешение. –