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] Fonction exec() erreur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Par défaut [Système] Fonction exec() erreur
    Salut tout le monde,

    j'ai un problème tout bête, j'ai fait quelques recherches sur le forum mais je ne trouve pas une réponse simple à mon petit problème : je n'arrive pas à utiliser la fonction exec() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    echo exec("ls");
    //shell_exec('ls');
    ?>
    J'ai l'erreur suivante :
    [www@wqis ~/cvs]$ php test.php
    sh: /usr/local/php/bin/ls: No such file or directory
    Merci d'avance

  2. #2
    Membre éclairé Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Par défaut
    Avec le ls, ça fonctionne, mais j'ai un nouveau problème, toujours avec la fonction exec() !

    Je veux effectuer un cvs commit, avec la fonction exec, de cette manière : exec ("cvs commit -m 'msg' /home/www/cvs/test_cvs");
    Mais ça ne fait rien...

    Ce qui est très bizarre, c'est qu'en CLI, ça marche!
    test.php :
    <?php
    exec ('cvs update /home/www/cvs/test_cvs');
    ?>

    j'exécute donc avec php test.php, qui me donne bien la mise à jour :
    [www@wqis ~/test_cvs]$ php test.php
    cvs update: Updating /home/www/cvs/test_cvs
    cvs update: Updating /home/www/cvs/test_cvs/etc
    cvs update: Updating /home/www/cvs/test_cvs/postconfigure
    cvs update: Updating /home/www/cvs/test_cvs/root


    Du coup j'ai essayé d'exécuter ce test.php depuis mon script principal à l'aide de exec ('php test.php'), mais ça ne fait plus rien, ça viendrait d'Apache?

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Est que ton safe mode ne serait pas active?

  4. #4
    Membre éclairé Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Par défaut
    Oui le safe mode est activé, mais j'ai copié les liens des fonctions que je veux utiliser dans le safe_mode_exec_dir...

    De plus, ça marche en CLI, pourquoi pas avec Apache?

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Tu es bien dans le meme repertoire pour appeler test.php?

    exec peut te renvoyer un code d'erreur exec(string,array,int);

  6. #6
    Membre éclairé Avatar de johnkro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 276
    Par défaut
    Je pense que ça vient d'un problème de droit. Apparemment l'utilisateur d'Apache serait wwwd et non www...

    L'erreur dans le log est celle-ci :
    cvs update: Updating /home/www/cvs/test_cvs
    cvs update: failed to create lock directory for `/usr/local/reference/test_cvs' (/usr/local/reference/test_cvs/#cvs.lock): Permission denied
    cvs update: failed to obtain dir lock in repository `/usr/local/reference/test_cvs'
    cvs [update aborted]: read lock failed - giving up
    Je continue mes recherches...

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2007, 15h11
  2. [Système] Fonction exec() et script perl
    Par furtif1 dans le forum Langage
    Réponses: 10
    Dernier message: 18/05/2007, 11h57
  3. [Système] Fonction exec() et assimilées
    Par guidav dans le forum Langage
    Réponses: 4
    Dernier message: 24/04/2007, 11h41
  4. [Système] fonction exec() avec Java
    Par alexK73 dans le forum Langage
    Réponses: 4
    Dernier message: 11/04/2007, 18h21
  5. [Système] Fonction exec dans un lien et synthaxe
    Par mLk92 dans le forum Langage
    Réponses: 6
    Dernier message: 13/07/2006, 12h45

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