sebeni Posté 24 Janvier 2006 Posté 24 Janvier 2006 Bonjour, j'ai un problème avec un script qui marche sous wamp. Et quand je le fais sous linux ça marche pu... <?php $var=`serv.sh`;echo $var;?> Biensur avec wamp j'exécuter un .bat, mais sous linux j'ai même tester un simple commande ls et rien ne se passe!!!! J'ai également tester avec sytem(), exec().... Une idée please.... Toutes les idées sont bonnes. MERci
Dan Posté 24 Janvier 2006 Posté 24 Janvier 2006 Bonjour, Si tu veux exécuter le script, il faut qu'il ait les permissions d'exécution. Donc un "chmod +x serv.sh" sous linux lui donnera ces permissions. A partie de là tu pourras utiliser system() ou exec()... voire même passthru() selon ce que ce script affiche. Dan
sebeni Posté 24 Janvier 2006 Auteur Posté 24 Janvier 2006 Slt Dan, Pour faire bien j'avais mis chmod 777 a serv.sh. dans le point sh j'ai juste la commande service smb stop. Mais autre chose aussi, si je fais system("service smb stop") ça ne fonctionne pas...
destroyedlolo Posté 24 Janvier 2006 Posté 24 Janvier 2006 Il ne faut pas oublier que le script qui s'execute dans ton shell n'a pas le meme environement lorsqu'il est lance par PHP. Alors, si ton script ne fonctionne pas, c'est peut etre pask'il n'arrive pas a trouver ses petits. Dans le meme genre, il sera execute par le user qui fait tourne ton web (c'est idio, mais c'est souvent la cause du probleme ). Enfin ... est-ce que ton PHP est configurer pour que les fonctions system(), exec() et consore fonctionnent ?
sebeni Posté 24 Janvier 2006 Auteur Posté 24 Janvier 2006 je pense qu'il est configuré pour ses fonction car : *Safe mode =off *et quand je fais system("ls-l"); le résultat s'affiche sur ma page web. En revanche si je fais system("ls>toto.txt"); rien ne se passe
sebeni Posté 24 Janvier 2006 Auteur Posté 24 Janvier 2006 C'est bon j'ai trouvé pour exécuter un .sh SOLUTION: `sh toto.sh` tout simplement.... je l'ai trouvé par hazared mais y'en a
Morgan_R Posté 25 Janvier 2006 Posté 25 Janvier 2006 Bonjour, Pour éviter d'avoir a taper le sh, il faut mettre ceci sur la premiére ligne de ton script : #!/bin/sh C'est valable pour tout type de script, par exemple, pour un script php en ligne de commande: #!/usr/bin/php etc ...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant