Maison  >  Article  >  développement back-end  >  Comment exécuter des programmes externes avec PHP avec une interface utilisateur dans un environnement intranet contrôlé ?

Comment exécuter des programmes externes avec PHP avec une interface utilisateur dans un environnement intranet contrôlé ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 08:20:03950parcourir

How to Execute External Programs with PHP with User Interface in a Controlled Intranet Environment?

Démarrage de programmes externes avec PHP : résolution des problèmes liés au système et à l'exécution

Dans un environnement intranet contrôlé, exécuter des programmes externes à partir d'une application PHP peut être un défi. Bien que des commandes telles que system et exec puissent lancer des processus, elles rencontrent des difficultés à gérer des programmes avec une interface utilisateur visible.

Le problème :

L'utilisateur est capable de démarrer des programmes qui fonctionner silencieusement (par exemple, "echo hello > hello.txt"). Cependant, les tentatives de lancement de programmes avec une interface utilisateur graphique (par exemple, « explorer ») n'aboutissent à aucune action.

La solution :

Pour résoudre ce problème, il est nécessaire pour permettre au service Apache exécutant le script PHP d'interagir avec le bureau :

  1. Ouvrez le panneau de configuration des services (services.msc) sur la machine Windows XP.
  2. Localisez le fichier Apache service (par exemple, "wampapache") et ouvrez ses propriétés.
  3. Allez dans l'onglet "Connexion" et sélectionnez "Autoriser le service à interagir avec le bureau."
  4. Arrêtez et redémarrez le service Apache .

Extraits de code :

Après avoir effectué ces modifications, vous pouvez désormais lancer des programmes GUI à partir de PHP en utilisant pclose et system :

Non bloquant :

<code class="php">pclose(popen("start /B notepad.exe", "r"));</code>

Blocage :

<code class="php">system('start notepad.exe');</code>

Remarque :

Ceci La solution est testée sur Windows XP et peut ne pas fonctionner sur d'autres versions de Windows.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn