2017-10-21 3 views
1

SMS를 웹 사이트로 전송하고 있으며 내 로컬 SMS 게이트웨이로 Gammu를 사용하고 있습니다. 사용중인 php 코드에서 localhost 기반으로 잘 작동합니다.클라우드에서 내 로컬 호스트로 shell_exec 명령을 실행하는 방법

echo shell_exec('"C:\Gammu\bin\gammu.exe" --sendsms TEXT +'.$row["mobilenum"].' -text '.$message.''); 

이제 클라우드에 웹 사이트를 올릴 때 어떻게 실행할 수 있습니까? 내 SMS 서버 기반의 창을 사용하고 있습니다.

gammu 명령을 실행하기 위해 클라우드와 localhost를 연결할 수있는 다른 방법이 있습니까?

답변

0

클라우드 서버에서 gammu.exe로 shell_exec()를 호출하면 전화 연결이 끊어져서 작동하지 않습니다.

클라우드 호스팅 웹 사이트에서 shell_exec()를 호출하는 대신 HTTP를 통해이를 수행 할 수있는 서비스에 요청해야합니다.

가장 쉬운 당신은 또한 클라우드 서버에 게시하는 accesible입니다 로컬 네트워크에서 간단한 HTTP API를 노출 할 수 있습니다, Twillio.com

처럼

뭔가를 사용하는 또는 것이다.

로컬 Gammu 서버에 고정 IP가 필요하며 해당 포트가 방화벽에서 열려 있어야합니다. 그래서 예를 들면

:

POST http://100.22.33.11/sms?number=82736164617&text=Hello%20World

또는 JS에서

$.post('http://100.22.33.11/sms',{ 
    number: '82736164617', 
    text: 'Hello World' 
}) 

은 물론, 당신은 또한 SSL (이상) 일부 인증을 추가 할 것이다는 오픈 SMS 것을 방지하기 위해 프록시 :)

관련 문제