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 :
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!