Bonjour je voudrais savoir pourquoi mes echo ne s'affiche pas et pourquoi shell ne me rend pas la main.


Je m'explique : je voudrais savoir comment exécuter un script shell avec php.
J'ai essayer des méthodes qui fonctionnent "partiellement" mais pas parfaitement.

ex : la commande S3DServer_script start & qui fonctionne très bien dans le Shell.


Je fais un fichier test.php avec la commande :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	$cmd2="S3DServer_script start &";
           			exec($cmd2);
                                       exit;
la commande start est exécutée partiellement (elle sert a relancer le serveur et elle relance le serveur) mais shell ne me rend pas la main même si je met un exit après la commande et le exec n'affiche pas les echo dans le fichier shell :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
start)
		if [ -e $S3DServerLife ]; then
			echo "S3DServer Advanced 1.5.1 for Linux seems to be running";			echo "If you are sure the server is not running, delete $S3DServerLife"
			exit 1
		else
			echo "Starting S3DServer Advanced 1.5.1 for Linux"
			if [ -e S3DServer-1.5.1-Advanced-Linux ]; then
				if [ ! -x S3DServer-1.5.1-Advanced-Linux ]; then
					echo "S3DServer-1.5.1-Advanced-Linux is not executable, trying to set it"
					chmod u+x S3DServer-1.5.1-Advanced-Linux
				fi

S3DServer Advanced 1.5.1 for Linux seems to be running"; n'est jamais affiché , etc...


Donc je voudrais savoir pourquoi mes echo ne s'affiche pas et pourquoi shell ne me rend pas la main. (je mets bien le exit et j'ai testé aussi avec shell_exec)

Merci.