2009-08-19 7 views
3

J'ai installé PHP en tant que module dans IIS sur Windows Server 2008, j'ai beaucoup de mal à essayer d'exécuter des programmes en ligne de commande à partir d'un script PHP.PHP exec sur Windows Server 2008

Je peux exécuter le code PHP très bien en utilisant php-cgi.exe et php-cli.exe, ce qui me porte à croire que cela pourrait être un problème d'autorisations.

Cependant, je peux exécuter certaines commandes, comme shutdown.exe et dir.

J'ai essayé le même processus dans un fichier ASP.NET et j'ai exactement le même problème.

En fait, je voudrais faire:

exec ("file path-to-exe-");

Et en fait le faire fonctionner.

Répondre

1

Essayez

exec('path-to-exe-file 2>&1', $output); 
var_dump($output); 

Le 2 > & 1 partie devrait rediriger les messages d'erreur sur la sortie standard (sur win32, aussi) qui devrait donc apparaître dans la production de $.

0

J'ai passé plusieurs heures avant de réaliser ce qui était erroné ...

Utilisez Gestionnaire des services Internet, des pools d'applications, sélectionnez le pool associé à votre application et assurez-vous que:

ProcessModel.Identity = LocalSystem

et

ProcessModel.Load profil utilisateur = true

Questions connexes