Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 12-08-2015 09:22:55

Orsam999
Membre
Distrib. : Debian GNU/Linux 7.9 (Jessi)
Noyau : Linux 3.2.0-4-486
Inscription : 16-01-2015

[Résolu] Echange de données PHP/Bash

Bonjour à tous,

En tant que débutant, j'apprends depuis quelques mois à faire des fichiers bash (ou .sh enfin les fichiers qui commence par #!/bin/bash)

J'ai appris il y a peu de temps que l'on pouvait aussi créer des fichiers exécutables en php (je ne sais pas si le terme est bon, mais ceci devrait vous parler #!/usr/bin/php)

Ma question est, est-il possible de faire communiquer deux langages (un bash et un php) ?  Peut-on par exemple "échanger" des variables, des données, etc...

Merci par avance.

Orsam

Dernière modification par Orsam999 (12-08-2015 15:54:19)


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#2 12-08-2015 09:40:48

Orsam999
Membre
Distrib. : Debian GNU/Linux 7.9 (Jessi)
Noyau : Linux 3.2.0-4-486
Inscription : 16-01-2015

Re : [Résolu] Echange de données PHP/Bash

re moi,


J'ai trouvé une partie de la réponse.


Dans le php, je peux maintenant récupérer le résultat d'un bash avec ça :


#!/usr/bin/php
<?php
$r=shell_exec("/bin/mon_fichier_bash.sh");
 




Le $r retourne le contenu du fichier bash.


Ca, c'est une bonne chose. mais maintenant comment faire l'inverse ? dans un bash, récupérer des données du php ???


Merci à tous,


Orsam

Dernière modification par Orsam999 (12-08-2015 09:41:17)


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#3 12-08-2015 09:54:53

Orsam999
Membre
Distrib. : Debian GNU/Linux 7.9 (Jessi)
Noyau : Linux 3.2.0-4-486
Inscription : 16-01-2015

Re : [Résolu] Echange de données PHP/Bash

Encore moi, et encore une auto-réponse... big_smile


J'ai trouvé ceci :


#!/bin/bash

result=$( php mon_fichier_php.sh )
if [ "$result" = "0" ] ; then
        echo $result
else
        echo $result
fi
 




Cependant, tout ça est un peu limité car il n'y a que des retours de chaine de caractères, Pas de tableaux, pas d'objets en retour, etc...


Bien-sur, je n'ai pas tester le passage de param après les fichier .sh, pour un renvoie de données spécifiques...


Si vous avez d'autres méthodes, je suis preneur..


Orsam


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#4 12-08-2015 11:52:50

Thuban
Modérateur
Distrib. : OpenBSD
Noyau : current
(G)UI : xfce ou dwm
Inscription : 09-01-2009
Site Web

Re : [Résolu] Echange de données PHP/Bash

C'est une très bonne façon d'apprendre que de bidouiller et essayer comme tu le fais, bravo!
Toutefois, tu dois déjà te rendre compte que tu es vite limité et que tu passes du temps pour résoudre des problèmes les plus simples. Car oui, tu ne peux qu'échanger du texte de cette façon. Ça peut suffire la plupart du temps cela dit.
Comme tu débutes, je te conseille d'apprendre le python, c'est un langage vraiment simple et pourtant très puissant, qui te permettra d'aller un peu plus loin. smile

YA3HGA-H

Hors ligne

#5 12-08-2015 13:14:04

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Echange de données PHP/Bash

Remarques, tant qu'à faire des exécutables en php, autant tout faire en php. Ce n'est pas aussi
bien que python mais bien plus généraliste que bash, avec de vraies structures de données.

La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#6 12-08-2015 15:51:11

Orsam999
Membre
Distrib. : Debian GNU/Linux 7.9 (Jessi)
Noyau : Linux 3.2.0-4-486
Inscription : 16-01-2015

Re : [Résolu] Echange de données PHP/Bash

Bonjour à tous les deux...


Et merci pour vos réponse...


Pour votre information, j'ai fait mon "Hello World" en Python il y a quelques jours !! cool (Il reste du taff lol)


Pour le problème de communication dont il est question plus haut, j'ai trouvé une autre "astuce" en attendant de maitriser le Python. :



retour=$(curl -s 'http://api.openweathermap.org/data/2.5/weather?q=Paris&lang=FR&units=metric')
sunset=`php -r "echo json_decode('$retour')->sys->sunset;"`
 




Plutot cool, et pratique...


Merci et à bientot


Orsam


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

Pied de page des forums