Edit На самом деле, эта проблема может быть решена с помощью пути файла конфигурации в качестве параметра функцииОшибка при выполнении питон скрипт для отправки SMS с PHP
sm.ReadConfig(Filename="/home/myuser/.gammurc")
Я использую Гамму библиотека для python. Моя идея состояла в том, чтобы создать скрипт python, который может отправлять SMS, чтобы позже вызвать его из скрипта PHP.
Вот код скрипта python.
#!/usr/bin/env python
import gammu
import sys
sm = gammu.StateMachine()
sm.ReadConfig()
if len(sys.argv) != 3:
print 'Uso: sms.py MENSAJE DESTINATARIO'
sys.exit(1)
rawtext = sys.argv[1]
spttext = rawtext.split("*e*")
text = " ".join(spttext)
sm.Init()
message = {
'Text': text,
'SMSC': {'Location': 1},
'Number': sys.argv[2],
}
if (sm.SendSMS(message)):
print "OK"
Если я использую этот скрипт из терминала работает нормально, проблема заключается в том, что, когда я называю сценарий из PHP с помощью Exec(), я получаю сообщение об ошибке из библиотеки Гаммы в то время, когда выполняются ReadConfig (функция):
gammu.ERR_CANTOPENFILE: {'Text': u'Can not open specified file.', 'Code': 28, 'Where': 'FindGammuRC via ReadConfig'}
Я уже дал разрешение на веб-сервер использовать Гамму, выполнив команду «Судо AddUser DialOut WWW-данных», но я не знаю, что еще может быть проблема.
Это путь я называю скрипт PHP:
$rcmd="python /home/my_user/Escritorio/pythonSMS/sms.py -V 2>&1";
exec($rcmd, $output);
Я ищу любую помощь или совет, спасибо.