Execution script shell avec php
Résolu
djspank
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
moussadjijunior Messages postés 107 Date d'inscription Statut Membre Dernière intervention -
moussadjijunior Messages postés 107 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement entrain d'essayer de lancer une commande Linux ,ls par exemple, à travers un script php.
J'utilise la commande exec de php. Comme je suis sous windows, j'utilise Cygwin. Je peux dans la ligne de commande lancer des commande comme ls ou pwd par contre dès que je veux les lancer dans mon script php rien ne se passe :
Alors que par exemple ceci fonctionne correctement :
Est ce que quelqu'un aurait une idée?
Merci d'avance!
Je suis actuellement entrain d'essayer de lancer une commande Linux ,ls par exemple, à travers un script php.
J'utilise la commande exec de php. Comme je suis sous windows, j'utilise Cygwin. Je peux dans la ligne de commande lancer des commande comme ls ou pwd par contre dès que je veux les lancer dans mon script php rien ne se passe :
<?php $ligne = exec('pwd'); echo $ligne; ?>
Alors que par exemple ceci fonctionne correctement :
<?php $ligne = exec('dir'); echo $ligne; ?>
Est ce que quelqu'un aurait une idée?
Merci d'avance!
A voir également:
- Php echo pwd
- Echo discord - Forum Casque et écouteurs
- Easy php - Télécharger - Divers Web & Internet
- @Echo off - Forum Virus
- Problème echo fichier .bat ✓ - Forum Windows 7
- Echo lors d'un appel samsung - Forum Mobile
9 réponses
Probablement parce que php via apache n'a pas accès au même PATH:
essaie
<?
$test=shell_exec('echo $PATH');
echo $test;
$ou_est_ls=shell_exec('which ls');
echo $ou_est_ls;
?>
essaie
<?
$test=shell_exec('echo $PATH');
echo $test;
$ou_est_ls=shell_exec('which ls');
echo $ou_est_ls;
?>
Salut,
Merci pour ta réponse, ca fonctionne. Je ne comprends pas trop pourquoi ca ne fonctionnait pas auparavant... Enfin merci de ton aide!
Merci pour ta réponse, ca fonctionne. Je ne comprends pas trop pourquoi ca ne fonctionnait pas auparavant... Enfin merci de ton aide!
Salut,
#!/bin/bash /etc/init.d/httpd starttu donnes un nom pour ton script. Pour l'exécution regarde ici executer un script shell
bonjour à tous ! j'esperes que le tres haut vous combles de ses bien faits!!
Je vous remercies pour la reponse à ma demande mais je suis un peu perdu je me demande ou je dois mettre le script pour qu'il soit exectuter par un autre script.
Je dois le mettre dans celui ci ou je dois le mettre dans un fichier particulier .
le script est bien celuici:
<?
#! /bin/bash
/etc/init.d/httpd start
?>
Merci d'avance pour votre future reponse
Que DIEU nous garde envie pour longtemps et dans la paix
Je vous remercies pour la reponse à ma demande mais je suis un peu perdu je me demande ou je dois mettre le script pour qu'il soit exectuter par un autre script.
Je dois le mettre dans celui ci ou je dois le mettre dans un fichier particulier .
le script est bien celuici:
<?
#! /bin/bash
/etc/init.d/httpd start
?>
Merci d'avance pour votre future reponse
Que DIEU nous garde envie pour longtemps et dans la paix
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Je ne connais pas Cygwin mais ca me semble logique que le pwd ne fonctionne pas alors que le dir fonctionne puisque c'est ton windows qui va interpréter la commande et qu'il ne connait pas la commande pwd alors qu'il connait le dir.
Mais chez moi sous linux les 2 fonctionne bien
Je ne connais pas Cygwin mais ca me semble logique que le pwd ne fonctionne pas alors que le dir fonctionne puisque c'est ton windows qui va interpréter la commande et qu'il ne connait pas la commande pwd alors qu'il connait le dir.
Mais chez moi sous linux les 2 fonctionne bien
Merci pour ta réponse rapide! :D
En fait non, cela n'est pas logique, car les executables de cygwin sont dans mon PATH, donc les commandes linux devraient fonctionner. Lorsque je tape la commande ls dans l'interpreteur elle fonctionne correctement, c'est la raison pour laquelle je ne comprends pas pourquoi cela ne fonctionne pas...
En fait non, cela n'est pas logique, car les executables de cygwin sont dans mon PATH, donc les commandes linux devraient fonctionner. Lorsque je tape la commande ls dans l'interpreteur elle fonctionne correctement, c'est la raison pour laquelle je ne comprends pas pourquoi cela ne fonctionne pas...
Cela ne donne rien dans l'affichage de la page...
Par contre ceci :
affiche 0 suivi de $PATH...
Je commence à me demander si cela est possible...
Par contre ceci :
$test=exec('echo $PATH',$tab,$i); echo $i; echo $test; $ou_est_ls=exec('which ls'); echo $ou_est_ls;
affiche 0 suivi de $PATH...
Je commence à me demander si cela est possible...