2010-05-03 9 views
0

J'ai une application sur mon serveur qui s'appelle leaf.exe, qui a deux arguments nécessaires pour fonctionner, ils sont: inputfile et outputfile, ce sera comme cet exemple:Exécuter une application sur le serveur en utilisant PHP (avec safe_mode activé)

pnote.exe input.pnt output.txt 

L'exécutable est au exec/, inputfile est à upload/ et outputfile est sur compiled/. Mais j'ai besoin que PHP puisse exécuter l'application comme ça, alors je veux savoir:

  • Comment pourrais-je faire cela sur un serveur qui ont exec() désactivé et je ne peux pas l'activer, parce que je n » t avoir des privilèges pour le faire?
  • Comment puis-je echo la sortie du programme?
+0

Avoir exec() disabled change vraiment les choses. Cela dit que l'administrateur veut délibérément vous empêcher de le faire. – Hober

Répondre

2

Il y a une bonne quantité de façons de le faire. Cela dépend en partie de la façon dont vos exécutables agissent et de ce qu'ils retournent. Jetez un oeil à System Program Execution. Hober suggère exec(), et cela peut être juste. Une autre possibilité peut être passthru()

+1

Oui, 'passthru()' peut être la vraie réponse. Comme la documentation 'exec()' indique: "Si vous devez exécuter une commande et que toutes les données de la commande sont passées directement sans aucune interférence, utilisez la fonction passthru()." – Hober