Executer un programme c en php

Fermé
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 5 mai 2011 à 18:53
creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 - 6 mai 2011 à 19:53
Bonjour,

j'ai un programme en c que je veux l'éxecuter avec php
j'ai essayé avec la commande
system('./prgm'); et sa na pas marché
merci

A voir également:

5 réponses

creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 57
5 mai 2011 à 19:04
Est-ce que ça fonctionne quand tu exécutes ./prgm directement depuis le shell ?
0
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 7
5 mai 2011 à 23:42
oui sa fonctionne tres bien avec ./prgm
0
creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 57
6 mai 2011 à 07:17
Alors c'est peut-être un problème de droits en exécution pour le programme, ou de mauvais chemin spécifié. Est-ce que PHP renvoie une erreur ?
Essaie proc_open, ça permet l'exécution de programmes de façon bien plus souple que system, et tu pourras voir la sortie du programme (ce qui est d'une grande aide quand on ne sait pas à quoi est due l'erreur).
0
Utilisateur anonyme
6 mai 2011 à 11:25
ou exec tout simplement
0
creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 57
6 mai 2011 à 19:53
Dans mon message, je lui demandais d'utiliser proc_open pour permettre le débuggage : avec exec, on n'a aucune idée de ce qui se passe ni des erreurs retournées une fois que la commande est exécutée par PHP.

proc_open permet de connaître la sortie, les erreurs retournées, et de savoir par exemple si le processus est toujours en cours d'exécution quelques secondes plus tard.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 7
6 mai 2011 à 12:43
un simple prgm marche bien avec system mais le prgrm qui lance une commande pour acceder a mysql par exemple il marche pas
moi je veux acceder a PVM voici le prgme que je veux executer

#include <pvm3.h>

int main(int p_argc, char *p_argv[]){

static char *argv[] = {
"server",
};
int *infos[1];
int info1 = pvm_start_pvmd( 1, argv,0);

int i;
for(i = 0; i < p_argc ; i++){
char *hosts[1] ;
hosts[0]= p_argv[i];
int info =pvm_addhosts( hosts, 1,infos);

}

}
0