2017-10-21 31 views
1

Je fais un site d'envoi de SMS et j'utilise Gammu comme ma passerelle SMS locale, ça fonctionne très bien dans ma base localhost sur le code PHP que j'utilise qui est:Comment exécuter une commande shell_exec du cloud à mon local

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

Maintenant, comment puis-je l'exécuter quand je commence à mettre le site Web sur le nuage? J'utilise une fenêtre basée sur mon serveur SMS.

Existe-t-il un autre moyen de lier le cloud et le localhost pour exécuter la commande gammu?

Répondre

0

L'appel de shell_exec() à gammu.exe sur un serveur cloud ne fonctionnera pas car vous n'avez pas la connexion téléphonique. Au lieu d'appeler shell_exec() à partir de votre site Web hébergé en nuage, vous devrez faire une demande via HTTP à un service qui peut le faire.

Le plus simple serait d'utiliser quelque chose comme Twillio.com

Ou, vous pouvez également exposer une API simple HTTP sur votre réseau local qui est accesible pour le serveur de nuage POST pour.

Vous auriez besoin d'une adresse IP statique sur votre serveur Gammu local et du port correspondant ouvert dans le pare-feu.

Ainsi, par exemple:

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

ou JS

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

Bien sûr, vous aussi, vous voulez ajouter une authentification (via SSL), pour éviter d'être un SMS ouvert proxy :)