Executer un programme c en php

yuri648 Messages postés 785 Statut Membre -  
creadiff Messages postés 483 Statut Membre -
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

5 réponses

  1. creadiff Messages postés 483 Statut Membre 57
     
    Est-ce que ça fonctionne quand tu exécutes ./prgm directement depuis le shell ?
    0
  2. yuri648 Messages postés 785 Statut Membre 7
     
    oui sa fonctionne tres bien avec ./prgm
    0
  3. creadiff Messages postés 483 Statut Membre 57
     
    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
  4. Utilisateur anonyme
     
    ou exec tout simplement
    0
    1. creadiff Messages postés 483 Statut Membre 57
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yuri648 Messages postés 785 Statut Membre 7
     
    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