python-gammu не работает с sudo

Я пытаюсь запустить скрипт Python для отправки SMS из PHP.

SendSMS.py:

#!/usr/bin/env python

import gammu

sm=gammu.StateMachine()
sm.ReadConfig()
sm.Init()

message={
        'SMSC':{'Location':1},
        'Text':'blah blah bllah',
        'Number':'xxxxxxxxx
}
sm.SendSMS(message)

когда я запускаю его из терминала с "sudo", он не работает. Но отлично работает без "sudo"

Ошибка:

gammu.ERR_DEVICENOTEXIST: {'Текст': u"Ошибка открытия устройства, оно не существует.", 'Код': 4, 'Где': 'Инициализировать'}

Я хочу запустить сценарий SMS из сценария php с помощью shell_exec(). Проблемы:

  1. Я не могу запустить сценарий SMS с помощью sudo

  2. Я не могу запустить его через php без sudo

Пожалуйста, скажите мне, как это исправить

Устройство-Raspberry pi 3

ОС- Распбиан


person notnavindu    schedule 21.08.2017    source источник


Ответы (1)


Скорее всего, он не находит файл конфигурации, по умолчанию он ищет в домашнем каталоге пользователя, который отличается при выполнении через sudo.

Вы можете указать путь к файлу конфигурации в командной строке однако лучше не выполнять gammu от имени пользователя root и настроить доступ к устройству пользователем.

person Michal Čihař    schedule 22.08.2017