Page 1 sur 1

probleme exec

Posté : 26 août 2010, 12:44
par Mandarine
Bonjour,

Je veux utiliser la fonction exec en php.

Voici mon code:
<?php
$r=exec('makefichier');
echo $r;
Makefichier est censé créer un fichier .txt. Ce programme marche parfaitement sous Ubuntu (en dble cliquant dessus).
Or via l'appel en php, rien ne se passe (ni création de fichier, ni affichage de l'echo).

Je suis sur un serveur 1and1 Linux mutualisé.
Le safe mode est sur off.
la fonction exec est activée.
Tous mes dossiers et sous dossiers sont en chmod 777.

Cela fait plusieurs jours que je suis bloqué sur ce point.

Merci de vos aides !

Re: probleme exec

Posté : 26 août 2010, 13:05
par sylvaing26
As tu bien renseigné le lien vers ton programme ?
C'est un .exe ?
Sinon renseigne l'extension aussi ;)

Re: probleme exec

Posté : 26 août 2010, 13:41
par Mandarine
Mon programme est du Fortran compilé sous ubuntu donc sans extension... :roll:
Que dois je mettre ??

Merci

Re: probleme exec

Posté : 26 août 2010, 14:10
par sylvaing26
Et sinon pourquoi tu ne créé pas ton fichier txt directement avec PHP ?

Re: probleme exec

Posté : 26 août 2010, 14:17
par AoSiX
Et si tu fais un var_dump de $r, tu as un string vide ?

Re: probleme exec

Posté : 26 août 2010, 14:26
par Mandarine
@Sylvain: il sagit d'un test pour le moment, l'objectif est de voir exec() marche.

@AoSIX: le var_dump me renvoie: string(0) ""

Dois je dire à exec qu'il sagit d'un executable linux et comment ?

Doit-on passer le chemin de l'executable à exec() en absolu (http://nomdedomaine.fr/sousdossier/excucutable) ? déjà testé et ça n'a pas marché.

Re: probleme exec

Posté : 26 août 2010, 15:39
par dev3
Bonjour,

Comment executes tu ton programme sur ton terminal ? simplement en tapant makefichier ?
Que retourne ton exec en valeur d'output (2ième argument de exec cf http://www.manuelphp.com/php/function.exec.php)

Re: probleme exec

Posté : 26 août 2010, 16:19
par Mandarine
Comment executes tu ton programme sur ton terminal ? simplement en tapant makefichier ?
Sous Linux je double clique sur mon fichier compilé pour l'éxécuter. Et hop il me créé mon fichier txt sur le bureau.
Que retourne ton exec en valeur d'output (2ième argument de exec cf http://www.manuelphp.com/php/function.exec.php)
La valuer d'output est: array(0) { }

Je ne comprends rien :(

Re: probleme exec

Posté : 26 août 2010, 16:33
par AoSiX
Essai de lancer ton outil avec la console, tu vas au bon endroit et tu fais ./tonexecutable

Re: probleme exec

Posté : 26 août 2010, 16:43
par Mandarine
Du nouveau :-)

J'ai envoyé mes sources en C sur mon serveur et j'ai compilé direct sur le serveur.
Et là ça marche. Je pense donc qu'il y avait un problème de compatibilité Linux.

Je suis sous Ubuntu 10 et eux sous Mandriva 4.

Cependant mon programme finale sera sous fortran et je ne peux pas compiler du fortran sur mon hebergement.

Comment compiler sous Ubuntu pour que ce soit compatible ??
Merci

Posté : 27 août 2010, 18:30
par Mandarine
Problème résolu.
Ca venait des dépendances des librairies Linux lors de la compilation !