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

Shell et commandes GNU Discussion :

Script shell lance plusieurs scripts php


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut Script shell lance plusieurs scripts php
    Bonjour,

    je suis en train de créer un script shell qui devra lancer plusieurs scripts php

    exemple :

    php script1.php
    php script2.php
    .
    .
    .
    php script10.php

    Pourquoi avec ces commandes il ne peut pas lancer le 1er script ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur : Could not open input file: script1.php
    et le second script se lance.

    J'en ai une dizaine de script à lancer un par un mais à chaque fois c'est uniquement le dernier qui se lance pourquoi ?

    Vous l'aurez compris j'aimerai juste lancer mes 10 scripts à la suite des autres.

    Merci à vous pour vos conseils.

  2. #2
    Membre très actif
    Avatar de The_Sorrow
    Homme Profil pro
    Informaticien multi-threadé
    Inscrit en
    Juin 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informaticien multi-threadé
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 119
    Par défaut
    Salut,

    en général j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php -f /mon/chemin/script.php
    pour lancer un script php. Il faut cependant que php-cli soit installé.

    Dans tous les cas, les chemins vers les scripts sont-ils corrects ?
    Par précaution je mets toujours le chemin absolu. Ça devrait sans doute t'aider à résoudre ce soucis.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    merci pour ta réponse.

    le script est dans le même dossier que l'ensemble des scripts en php.

    edit:

    si j'en lance une ça fonctionne.
    si j'en lance 10 ça ne fonctionne pas.

    error : Could not open input file: nom_du_fichier

  4. #4
    Membre très actif
    Avatar de The_Sorrow
    Homme Profil pro
    Informaticien multi-threadé
    Inscrit en
    Juin 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informaticien multi-threadé
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 119
    Par défaut
    Oui mais ça s'arrête sur le même à chaque fois ?
    Tu as les droits en lecture / exécution sur tous les scripts ?

    Et sinon, même si je n'ai aucune idée de comment ils sont construits, il ne serait pas possible de n'en lancer qu'un seul qui se chargerait d’appeler les fonctions des 9 autres ?
    Un peu comme un main.php qui inclurait les 9 autres comme on fait un include d'une bibliothèque de fonctions.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    aucun problème de droits.

    bah je ne comprends pas trop pourquoi si j'écris :

    php -f script1.php il se lance et si j'écris :

    php -f script1.php // erreur
    php -f script2.php // se lance

    c'est toujours le dernier qui se lance, les autres s’exécute pas...

  6. #6
    Membre très actif
    Avatar de The_Sorrow
    Homme Profil pro
    Informaticien multi-threadé
    Inscrit en
    Juin 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informaticien multi-threadé
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 119
    Par défaut
    Là je sèche un peu, surtout si le message d'erreur est juste ce que tu m'as indiqué auparavant.

    Du coup je n'ai que deux options à te proposer (au choix l'une ou l'autre donc) :
    • Lancer chaque php en arrière plan avec ' &' à la fin de chaque ligne de ton script d'appel
    • Faire un main.php qui se charge de lancer les fonctions des autres php lui même

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    À tout hasard, est-ce que le script a été écrit sous Windoze (par exemple, avec NotePad++)?
    Contient-il des Ctrl-M au lieu de line feeds?
    Que donne cat -A le_script ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Contient-il des Ctrl-M au lieu de line feeds?
    Que donne cat -A le_script ?
    Chaque ligne se commence et termine par ^M$ en faisant la commande :

    cat -A script1.php ce qui veut dire ?!

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    ce qui veut dire que mon intuition était juste

    Le script a probablement été écrit (ou a transité) sous windoze et contient des caractères de fin de ligne parasites.

    Le remède (pour le débarrasser de ces caractères):

    Cela devrait résoudre le problème.

    PS: sous NotePad++ (je ne l'ai pas sous la main), il y a une option pour mettre des fins de ligne de type unix/linux.

    cf. ce post ainsi que le lien fourni par N_BaH dans la même discussion.

  10. #10
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Moi je suis une brute et je fais sed 's/\x0d$//' monFchierQuALaTourista

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    bonjour et merci pour vos réponses.

    je ne sais pas où il a été écrit en premier j'ai repris un projet de plusieurs scripts.

    pour ma part je travail sous aptana et je me connecte directement en remote.

    est-ce que la fonction dos2unix est l'équivalent sous apatana de :

  12. #12
    Membre très actif
    Avatar de The_Sorrow
    Homme Profil pro
    Informaticien multi-threadé
    Inscrit en
    Juin 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informaticien multi-threadé
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 119
    Par défaut
    Citation Envoyé par noobyyy Voir le message
    est-ce que la fonction dos2unix est l'équivalent sous apatana de :
    Oui tout à fait.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    d'accord merci je suppose que s'il existe la fonction dos2unix il doit bien existe la fonction unix2dos ?

    car au pire au début du script que j’essaie de créer je fais la chose suivante :

    dos2unix script1.php
    dos2unix script2.php
    ..
    ..
    dos2unix script10.php

    ou (suivant le serveur à exécuter)

    unix2dos script1.php
    unix2dos script2.php
    ..
    ..
    unix2dos script10.php

  14. #14
    Membre très actif
    Avatar de The_Sorrow
    Homme Profil pro
    Informaticien multi-threadé
    Inscrit en
    Juin 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Informaticien multi-threadé
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 119
    Par défaut
    Je crois bien que oui, mais de mémoire, l'interpréteur php n'est pas gêné par des sauts de ligne unix sous un serveur windows.

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    ah mince...

    je viens de tester et....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    to UNIX format ...g file script1.php
    dos2unix: problems converting file script1.php
    Could not open input file: script1.php

  16. #16
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Bonjour,

    Pourrais tu nous faire un 'ls -l' de tes fichiers php, parce-que là, cela ressemble plus à un problème de droit ou d’accès qu'autre chose...
    et indique nous aussi le nom du user,group qui est censé y acceder (id -a nom_de_luser)

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut


    côté user et group ce n'est pas moi qui m'en occupe

  18. #18
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Euh... Es-tu sûr du nom de ton fichier "script1.php"?

    Vu qu'il n'apparaît dans la copie d'écran,
    - soit tu t'es trompé de nom (ce serait peut-être "script_r1.php"),
    - soit c'est bien "script1.php", mais nous n'avons pas assez d'informations pour déterminer l'origine du problème: il faudrait que tu nous montres le résultat de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id -a ; ls -l script1.php

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 625
    Par défaut
    aucun soucis pour les noms !

    je suis également dans 3 groupes.

  20. #20
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Ok,

    Et les script sont dans les mêmes groupe que toi ?
    le répertoire où se trouve les script aussi ?

    Quels sont tes droits à toi dessus ?

    Le type de montage du FS, c'est quoi ? du local ? du distant genre nfs ?
    Quels sont les options de montages ? readonly ? rw avec des perm particulières ?

    On te laisse checker tous ça.

    PS: Tu peux demander à l'administrateur qui gère les droits qu'il regarde pourquoi tu as ce problème concernant l'acces à tes fichiers php. Il a peut-être déjà l'explication

Discussions similaires

  1. Exécuter un script shell côté client via php
    Par Heisen dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2011, 18h45
  2. Réponses: 10
    Dernier message: 15/07/2008, 11h52
  3. script qui lance plusieurs commandes dos ?
    Par casier dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 13/08/2007, 07h47
  4. Execution de plusieurs script shell
    Par ArChAnGe76 dans le forum Applications et environnements graphiques
    Réponses: 12
    Dernier message: 25/05/2007, 17h12
  5. script python lancé plusieurs fois
    Par devconf77 dans le forum Général Python
    Réponses: 2
    Dernier message: 03/05/2007, 17h27

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