Я делаю веб-сайт для отправки SMS и использую Gammu в качестве локального шлюза для смс, он отлично работает в моей базе localhost на php-коде, который я использую:
echo shell_exec('"C:\Gammu\bin\gammu.exe" --sendsms TEXT +'.$row["mobilenum"].' -text '.$message.'');
Теперь, как я могу выполнить это, когда я начинаю помещать сайт в облако? Я использую окно на основе моего SMS-сервера.
Есть ли другой способ связать облако и локальный хост, чтобы просто выполнить команду gammu?
Вызов shell_exec () для gammu.exe на облачном сервере не сработает, так как у вас нет телефонного соединения.
Вместо того чтобы вызывать shell_exec () с вашего веб-сайта, размещенного в облаке, вам нужно будет сделать запрос через HTTP к службе, которая может это сделать.
Проще всего было бы использовать что-то вроде Twillio.com
Или вы также можете предоставить простой HTTP API в вашей локальной сети, доступный для POST для облачного сервера.
Вам потребуется статический IP-адрес на локальном сервере Gammu и соответствующий порт, открытый в брандмауэре.
Так, например:
СООБЩЕНИЕ http://100.22.33.11/sms?number=82736164617&текст = Hello% 20World
или в JS
$.post('http://100.22.33.11/sms',{
number: '82736164617',
text: 'Hello World'
})
Конечно, вы также хотели бы добавить некоторую аутентификацию (через SSL), чтобы не быть открытым SMS-прокси 🙂
Других решений пока нет …