PDA

Voir la version complète : exec()


jeroen
22/09/2006, 20h33
bonjour à tous !
je cherche a executer un programme en ligne de commande depuis mon hébergement mutualisé 60GP chez OVH
Le programme fait simplement une conversion de fichiers. Aucun problème en local, mais chez ovh ça ne passe pas...

J'ai mis l'executable hors du www, sous cgi-bin/rep/executable.exe
je souhaite convertir un fichier que j'ai placé sous le www/chemin/fichier.ext

j'ai donc une page php avec ceci :
<?php
$commande="/home/monsite/cgi-bin/rep/executable.exe -f \"/home/monsite/www/chemin/fichier.ext\"";
exec($commande,$ret);
?>

et bien ça ne marche pas : $ret est vide, et pas conversion de fichier..

vous avez une idée ??

Shadow aok
22/09/2006, 20h45
Ton .exe marche en local car tu es sous windows mais sous linux tu pourras toujours attendre pour qu'il marche ...

jeroen
22/09/2006, 20h53
Merci de ta réponse. Je n'y connais rien du tout là dedant, il faut être pédago :D
Le prog que je veux faire tourner est là : http://www.gpsbabel.org/download.html

Quelle version faut-il que j'execute, et y a t'il quelque chose a faire avant ??

Merci.

muab
22/09/2006, 20h54
il te faut un prog Linux que tu dois compiler directement sur ton hebergement :-))

bon courage...

jeroen
22/09/2006, 21h07
il te faut un prog Linux que tu dois compiler directement sur ton hebergement :-))

bon courage...

Bon courage, c'est le cas de le dire. ça veut dire quoi ?:confused:
j'ai lu ici (http://www.gpsbabel.org/osnotes.html) ça :
Building from Source: All
GPSBabel is written in ISO C and accordingly requires standard tools to build C programs. In most
cases, simply typing 'make' will give you a gpsbabel binary that can then be copied to a location of your choosing. If you get errors about expat.h not being found during the compilation, you must either modify the Makefile to tell your compilation system where to find expat or install expat in a standard place.
ça a l'air tout simple mais je ne comprends rien...
Quelqu'un pourrait-il me faire un topo ?:rolleyes:

Merci !

Shadow aok
22/09/2006, 21h27
Tu ne peux pas compiler de binaires en mutualisé.
Il va falloir t'orienter vers du dédié.

jeroen
22/09/2006, 21h56
C'est impossible ?
Pourquoi est-si compliqué de lancer un programme ? Comprends pas ?

muab
22/09/2006, 21h58
un exe sous Windows utilise des ressources Winodws... Pour un serveur Linux (ce qui est le cas des mutu), tu n'as pas le choix, il te faut un programme prévu pour fonctionner sous Linux.

De plus, comme sous Windows (3.1, 95, 98, ME, XP...), la version de l'OS est egalement importante... Ce n'est pas compliqué, c'est logique.

On ne met pas de gasoil dans une voiture essence :D

Shadow aok
22/09/2006, 22h18
Et il ne faut pas que le lancer, il faut le compiler à partir du code source et c'est cette étape qui n'est pas possible en mutualisé.
Car sous linux tu compiles un programme pour ta distribution, voir pour ta machine, car il y a souvent des dépendances.

RaphAstronome
24/09/2006, 12h35
Je ne l'ai jamais fait mais normalement tu peut mettre ton code source sur le serveur et faire les exec("gcc [...]") qui vont bien pour faire un exécutable après je ne dit pas que c'est permis (demande au support).