Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2011, 17h35   #1
Membre à l'essai
 
Clémentine
Inscription : juin 2006
Messages : 128
Détails du profil
Informations personnelles :
Nom : Clémentine
Âge : 24

Informations forums :
Inscription : juin 2006
Messages : 128
Points : 21
Points : 21
Par défaut passage de paramètres php <-> exe

Bonjour,

Je cherche à passer à un executable compilé des paramètres stockés (environ une centaine) en session en Php.
L'exécutable ne peut pas se connecter à une base de données

En Php je pense appeler l'exécutable avec la fonction: "exec".

L'exécutable peut lire des fichiers textes, est-ce une bonne solution ?
Et comment se protéger/sécuriser l'affaire (être sûre du bon fichier pour le bon utilisateur).

Merci de votre aide
Mandarine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 12h57   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Pour répondre correctement il faudrait déjà qu'on sache ce que tu attends de ton exécutable; comment il diot iteragir avec PHP, quels sont les paramètres qu'il accepte etc.

En PHP il y a de nombreuses manières de la plus dégeu à la plus sale pour appeller des exécutables:
- exec
- system
- passthru
(et sûrement d'autres que je ne connais pas)

Ou il y a aussi popen:
http://php.net/manual/en/function.popen.php
qui ouvre un pipe et qui est selon moi la bonne manière de faire.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 11h47   #3
Membre à l'essai
 
Clémentine
Inscription : juin 2006
Messages : 128
Détails du profil
Informations personnelles :
Nom : Clémentine
Âge : 24

Informations forums :
Inscription : juin 2006
Messages : 128
Points : 21
Points : 21
L'éxecutable attend 100 paramètres (entiers, charactères,...) et doit en retourner à Php environ 50 (entiers, charactères,...).

L'exécutable ne me sert qu'à définir les 50 paramètres en fonction des 100 données en entrée.

Je cherche juste un moyen de communication entre les 2.

L'executable sera situé sur le même serveur que le php.

Pourquoi le exec est plus sale que système ou passthru par exemple ?
Mandarine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 22h50   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Citation:
Pourquoi le exec est plus sale que système ou passthru par exemple ?
Oublie, c'est chronique chez moi, je n'aime pas appeller des programme de cette manière.

Tu n'as plus qu'a appeller ton programme avec un script du style:
Code :
1
2
3
4
 
$cmd = "/usr/bin/somevariousprogram";
$parameters = array("-a","hello","-b","salade");
exec($cmd . " " . implode(' ', $parameters), $out, $status);
Par pure curiosité comment ton programme renverra t-il les valeurs ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 16h27   #5
Membre à l'essai
 
Clémentine
Inscription : juin 2006
Messages : 128
Détails du profil
Informations personnelles :
Nom : Clémentine
Âge : 24

Informations forums :
Inscription : juin 2006
Messages : 128
Points : 21
Points : 21
Merci pour l'info.

Le programme renverra les valeurs en utilsant un fichier texte qui sera lu par php.
Tu en penses quoi (le fichier sera lié à l'utilisateur en utilisant le nom de la session par exemple) ?

Exec renvoie bien une info (dans $status de ton exemple) quand le programme lancé a fini ?

De plus exec marche bien en synchrone (Php reste bloqué à la ligne exec tant que le programme lancé n'a pas fini) ??
Mandarine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 17h11   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Citation:
le fichier sera lié à l'utilisateur en utilisant le nom de la session par exemple
Pourquoi pas.

Citation:
Exec renvoie bien une info (dans $status de ton exemple) quand le programme lancé a fini ?
Tu auras un code de retour 0 si le programme s'est terminé normalement.

Citation:
De plus exec marche bien en synchrone (Php reste bloqué à la ligne exec tant que le programme lancé n'a pas fini) ??
En php tout est synchrone. Pour faire de l'assynchrone il faut passer par pcntl_fork() comme en C ou par popen (regarde par là: http://robert.accettura.com/blog/200...sing-with-php/)
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h16.


 
 
 
 
Partenaires

Hébergement Web