bonjour, est ce que quelqu'un sais comment on peut faire pour qu'un script PHP peut exécuter un script shell sur un serveur linux pour pouvoir afficher les résultat fournée par ce script shelle
merci
 
			
			






 
			
			
			
			 
			
				
 Appeler un script shell
 Appeler un script shell
				
				
						
							
							
						
						
				bonjour, est ce que quelqu'un sais comment on peut faire pour qu'un script PHP peut exécuter un script shell sur un serveur linux pour pouvoir afficher les résultat fournée par ce script shelle
merci
 
 
				
				
						
						
				La fonction exec() n'est-elle pas faite pour ça ?
Fred
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				peut tu me donner un exemple stp merci
 
 
				
				
						
						
				Il y a quelques exemples ici.
Fred
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				oui c'est sa mais on faite j'ai un script shell (fonction.sh) qui appel une fonction java qui permet de créer des rapport et moi je veux pouvoir appeler le script fonction.sh et pas écrire la commande comment je peux faire ça
string shell_exec ( string cmd)
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Bonjour, as-tu essayé de le lancer de la même façon que sous un terminal unix:
./script.sh
et donc
exec('./script.sh')
Je l'ai déjà fais sur une page php, j'ai l'exemple concret chez moi, au pire si cela ne fonctionne pas je te donne un bout de script fonctionnel ce soir.
Mateuy
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				oui j'ai essayer mais sa m'affiche rien
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Voilà j'ai retrouvé mon script, il permet d'ouvrir et fermer le lecteur optique de mon serveur UNIX
Voilà exactement la ligne correpondante au lancement d'un script :
exec ("./test");
Je te passe tous les scripts, ils fonctionnent mais il y a un léger bug lors de l'enchainement d'ouverture/fermeture du lecteur optique.
Script test : ouverture
Script test2 : fermeture
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4#!/bin/bash eject -r
Index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4#!/bin/bash eject -t
Pour rechercher tout autre problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63<?php if(!isset($_POST['test'])) { echo ' <form method="post" action="index.php"> <tr> <td><input type="hidden" value="0" name="cdrom" /></td> </tr> <tr> <td><input type="submit" value="Ouvrir le lecteur" name="test" /></td> </tr> </form> '; } else { $lecteur=$_POST['cdrom']; if($lecteur == 0 ) { $lecteur=1; exec ("./test"); echo 'Lecteur ouvert !!'; echo ' <form method="post" action="index.php"> <tr> <td><input type="hidden" value="1" name="cdrom" /></td> <td><input type="submit" value="Fermer le lecteur" name="test" /></td> </tr> </form> '; } else { $lecteur=0; exec ("./test2"); echo 'Lecteur fermé.'; echo ' <form method="post" action="index.php"> <tr> <td><input type="hidden" value="0" name="cdrom" /></td> <td><input type="submit" value="Fermer le lecteur" name="test" /></td> </tr> </form> '; } } ?>
>> places le script dans le dossier racine du site web pour éliminer l'hypothèse de s'être trompé dans le chemin.
>> vérifies que ton serveur WEB (je suppose que c'est Apache) possède les droits nécessaires pour exécuter le script. Les droits pour mes scripts sont ci-dessous :
Le propriétaire et le groupe sont en www-data.
Voilà j'espère que cela t'aidera.
Mateuy
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				merci bcp c'est vraiment gentil de ta part je vais modifie mon code...
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
							
						
				Mais de rien
Partager