PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 27-05-2010 17:03:50

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

[Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

Bonjour,

Je ne comprend plus rien, j'ai du changer mon pc depuis que j'ai pris une surtention.

Avant mon PC etait sur XP Pro le nouveau aussi mais depuis je n'arrive plus a executer mes fichier bat et exe et j'ai installé la même version de wampserver 2.0c.

je m'en servé pour demarrer ou arrêter des programmes , arrêter le PC et copier des fichier via un fichier bat a distance.
Plus rien ne fonctionne, pourtant j'ai fait un copier coller dans le repertoire de wamp depuis le disque dur de mon ancien pc sur le nouveau.
Voici les exemples de tout ce qui fonctionné :


Pour redémarrer le pc a distance

<?php
exec('psshutdown.exe -r -t 60 -m "! ATENTION ! Cette ordinateur va redemarrer dans 60 Secondes. Vous avez 60 secondes pour enregistrer votre travail. !!!" -c ');
?>

Pour arrêter le pc a distance

<?php
exec('psshutdown.exe -k -t 60 -m "! ATENTION ! Cette ordinateur va s arreter dans 60 Secondes. Vous avez 60 secondes pour enregistrer votre travail.  !!!" -c ');
?>

Pour arrêter au programme a distance

<?php
exec('pskill MEDIALINK-server.exe');
?>

Pour démarrer un programme a  a distance

<?php
exec('MediaLink-on.bat');
?>

Le fichier bat --> MediaLink-on.bat'

echo on
L:
cd\
cd\Program files 2\MEDIALINK\app\
MEDIALINK-server.exe

Pour copier des fichiers a distance

<?php
passthru(copie-sauvegarde-php-serveur-1.bat');
?>

Le fichier bat --> copie-sauvegarde-php-serveur-1.bat

echo off

echo Fichier copié :

L:
cd\
cd\Program files 2\wamp\Maison\  
copy *.* L:\Sauvegarde-urgente-site-serveur\Maison\

Tout fonctionné avant que mon ancien pc tombe en panne.
Pouvez vous m'aidez svp

Merci d'avance, cordialement.

Dernière modification par xunil2003 (27-05-2010 17:07:26)


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

#2 27-05-2010 17:51:12

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

Bonjour,

tu as quoi comme message d'erreurs ??
a++

Hors ligne

#3 27-05-2010 18:08:23

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

Bonjour,

Je n'ai aucun message d'erreur, le navigateur tourne dans le vide comme s'il cherchait ou attendait quelque chose.

Parcontre je vient de me rendre conte que lorsque j'execute un programme il s'affiche dans l'onglet "Processus" du "Gestionnaire des taches de windows", mais il n'ai pas visible dans windows je ne le vois pas dans la barre des taches, n'y la fenetre du programme.

Avec ceci :

<?php
exec("medialink-on.bat ");
?>

si je clique sur terminer le processus dans  le "gestionnaire des taches de windows" le n'avigateur m'affiche imédiatement ceci :
Fatal error: Maximum execution time of 30 seconds exceeded in L:\Program files 2\wamp\www\maison\N4\habitation\applications\medialink.php on line 13

Chose bizar je n'ai pas de ligne 13.

Merci.

Dernière modification par xunil2003 (27-05-2010 18:30:39)


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

#4 27-05-2010 18:24:30

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

Pare feu ??
déactive le pour voir wink

a++

Hors ligne

#5 27-05-2010 18:35:04

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

Re,

Ben c'est pareil ?

Merci.


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

#6 27-05-2010 18:48:40

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

set path=%path% ;c:\le chemin ou set trouvent tes programmes

ajoutes cette ligne dans ton autoexec wink

a++

Hors ligne

#7 27-05-2010 19:02:10

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

re,

c'est toujour pareil, par contre  lorsque je demarre mon programme depuis le php avec wampserver  dans le "gestionnaire des taches de windows"  il est dit à "Processus"

Nom de l'image - Nomo de l'utilisateur - Processus - Util. mémoire
MEDIALINK-server.exe - SYSTEM - 00 - 20 332 ko

Lorsque je l'execute avec l'invité de commande et tape "MEDIALINK-server", etant donné que je l'ai ajouté a autoexe :
Nom de l'image - Nomo de l'utilisateur - Processus - Util. mémoire
MEDIALINK-server.exe - Serveur-web - 00 - 20 332 ko

Merci.

Dernière modification par xunil2003 (27-05-2010 19:30:58)


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

#8 28-05-2010 07:59:53

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

Vive le Service Pack 3 ..... (enfin, je ne dis que ça .....)

Depuis le SP3, il y a un verrouillage façon Vista de pas mal de ligne de commande....
A toi de désactiver toutes les sécurités utilisateurs afin de refaire fonctionner tout tes batch.

Et au mieux, repasse en SP2 ^\^


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#9 30-05-2010 11:32:11

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

bonjour,

Mon ancien serveur était sous XP Pro SP2  avec les mis a jour en SP3 est sa fonctionné. donc je peut te dire SP2 ou SP3 c'est pareil puis que sa fonctionné.

J'ai installé Easyphp dans L:\Program files\EasyPHP5.2.10\ curieusement tout fonctionne y compris la fonction exec() avec mon code php (ci desous)  dans le repertoire www de EasyPHP5.2.10.

notepade.php

<?PHP
exec("notepad.bat");
?>

notepad.bat

echo on
%SystemRoot%\system32\notepad.exe

Cependant avec  EasyPHP5.2.10 lorsque je cré un alias pour mon site dont le chemin de l'alias est "Document root : L:\Program files 2\wamp\www\"
la fonction exec() fonctionne ainsi que tout le reste fonctionne ! sauf .htaccess

Donc sa peut venir de quoi, faite l'experience vous verez.
Cela vient il de http.conf ou php.ini oubien de la config de wamp ? au niveau de la config de apache ?
Pourquoi dans le repertoire www de Easyphp cela fonctionne, et pourquoi avec wampserver cela ne fonctionne pas ?

Quelqu'un peut il m'aider.

Merci d'avance, cordialement.

Dernière modification par xunil2003 (31-05-2010 21:33:10)


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

#10 31-05-2010 22:33:58

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

Re : [Résolu] executer un programme exe ou bat en php avec exec() ou passthru()

Bonsoir,

J'ai trouvé la solution, je la dit pour ce qui sont intéréssé.

Faite demarrer executer... "services.msc"  la fenetre s'ouvre des service (local), puis chercher dans la liste "wampapache" puis faite un clique droit dessus est cliquer sur propriété, aller sur l'onglet "Connexion" et cocher "Autoriser le service à intégrir avec le bureau" puis cliquer sur OK.

Et sa marche,


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

Pied de page des forums