IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Exécuter une application sur le serveur


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Système] Exécuter une application sur le serveur
    Bonjour,

    Ca fait 2 jours que je recherche un moyen d'executer une application graphique sur le serveur (tel que firefox) depuis mon site web!

    J'ai fais pas mal de recherche, je suis bien sûr tombé sur les fonction "exec(), system(), .." mais on ne parle pas execution d'application mais plus de commande shell! J'ai quand meme essayer mais ca ne fait rien, meme avec le chemin complet de mon appli..

    pour info, mon but est de pouvoir lancer un client bittorrent a distance avec comme arugument le fichier torrent! Je peux bien sur le faire en ssh mais j'aurai vraiment besoin de pouvoir le faire avec le PHP!

    Je vous remerci d'avance de m'éclairer sur les possibilités du PHP!

  2. #2
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    sur le serveur (tel que firefox)
    Je crois qu'il y a un problème de vocabulaire ici. Firefox n'est *pas* un serveur, c'est un navigateur et c'est du coté "client".
    Un serveur, c'est par exemple Apache (en caricaturé, l'appli qui execute ton php et envoie le contenu des pages vers le navigateur client, par exemple firefox), et par extention c'est la machine sur laquelle est hébergé apache.

    Apres, ce que tu peux faire en ssh, tu peux effectivement le faire via exec() ou system().
    Du point de vu de la machine, il n'y a pas de difference profonde entre executer la commande "ls" (une commande shell quoi), ou une application comme bittorent, les deux sont un programme, point.
    Si tu écrit dans ton shell : "which ls", tu vas avoir comme réponse quelque chose comme "/bin/ls", ce chemin est le chemin vers "l'application" ls.
    Eh oui, une commande shell, même les plus basiques, souvent (toujours ?), c'est avant tout un programme comme un autre.

    Bref, as-tu simplement essayé de lancer via exec() la commande que tu tapes en ssh ?
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Désolé je me suis mal exprimé (l'exemple firefox prêtai à confusion). En fait je veux exectuer une application graphique sur mon serveur (tel que totem, amsn, xterm ou autre).

    exemple : un poste A (client) clique sur un lien du site du poste B (serveur) et cela demarre l'appli sur le poste B (serveur B).

    J'ai donc essayé avec "exec()" ou "system()" j'arrive bien a récupérer le resultat d'un "ls" mais pas de lancer une appli (visuelle) sur le serveur.

    Sinon t'inkiet je sais bien que les commandes shells sont bien des programmes (on les a recodés en C en 1ere année ) mais executer une appli graphique c'est different nan? car avec une commande shell on se contente juste de récuppérer le retour, alors que la je veux lancer une application, et bien la voir de mes propres yeux sur mon serveur.


    J'ai essayé avec exec mais ca ne fait rien!

    Merci en tout cas

  4. #4
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Hummm... Oui, c'est plus clair, mais par contre, je ne vois pas pourquoi cela ne fonctionne pas. A moins qu'il y a des restrictions posée sur exec, mais j'en doute...
    Désolé, je crains de ne pouvoir t'aider.
    Quelqu'un d'autre ?
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    il peut y en avoir avec le "safe_mode" activé mais je l'ai bien désactivé

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    il me semble qu'il y a aussi une variable dans php.ini qui s'appelle exec_dir
    peut etre cette valeur est-elle remplie et t'empeches d'effectuer des executables?

  7. #7
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2007
    Messages : 89
    Points : 99
    Points
    99
    Par défaut
    Si tu es sous linux apache s'exécute sous l'utilisateur apache donc les permissions sont restreint en fonction de cette utilisateur. Ensuite il faut que le serveur X soit lancer.

    Sinon tu peux utiliser la commande sudo (voir le man) pour exécuter des commande sous les privilège d'un autre utilisateur.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ah en effet, ca doit surement etre à cause des droits! Merci pour l'info, je test ca ce soir!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/01/2008, 03h23
  2. [MySQL] Exécuter une requête sur plusieurs serveurs MySQL
    Par sirbaldur dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/11/2007, 18h02
  3. Réponses: 2
    Dernier message: 24/08/2007, 20h16
  4. Réponses: 4
    Dernier message: 19/09/2006, 11h35
  5. Deploiment d'une application sur un serveur linux
    Par stomerfull dans le forum Administration système
    Réponses: 1
    Dernier message: 17/01/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo