Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1746 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  recupérer sortie console en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recupérer sortie console en php

n°1739002
veryfree
Posté le 29-05-2008 à 16:45:14  profilanswer
 

Hello,

 

besoin d'aide pour un script php-cli.

 

Je fait tourner de nombreux cron et j'aimerai faire un script de vérification de l'exécution de ce dernier.

 

25 0 * * * /chemin/monscript.php | handleOutput.php

 

handleOutput.php doit juste vérifier que la sortie console ne contiens pas "error" ou "warning"

 

j'ai pensé maladroitement que le contenu serai disponible dans $_SERVER['argv'] mais il n'en est rien. Apres quelque recherche , il faut ouvrir le stdin/stderr.
J'ai donc dans mon handleOutput.php :

 
Code :
  1. #! /root/php -qC
  2. <?php
  3. chdir(dirname(__FILE__));
  4. $stds=array('stdin','stderr');
  5. $st=array();
  6. foreach($stds as $output){
  7. $handle = @fopen("php://$output", "r" );
  8. $st[$output]='';
  9. if ($handle) {
  10.  //while (!feof($handle)) {
  11.   $buffer = fgets($handle, 4096);
  12.   $st[$output]= $st[$output].$buffer;
  13.  //}
  14. fclose($handle);
  15. }
  16. }
  17. print_r($st);
  18. ?>
 

J'ai du commenter la boucle car elle semble être sans fin.

 

plusieurs questions:

 

- est ce la meilleurs solution pour faire ce que je souhaite ?
- comment éviter que l'exécution soit aussi lente ...

 

merci pour votre aide


Message édité par veryfree le 29-05-2008 à 16:46:42
mood
Publicité
Posté le 29-05-2008 à 16:45:14  profilanswer
 

n°1739047
PierreC
Posté le 29-05-2008 à 18:23:03  profilanswer
 

est tu obliger de tout faire en php ?  
 
car si tu peux utiliser un peu de script shell ca te simplifira la vie, par exemple un truc comme ca :  
 
25 0 * * * /chemin/appel_monscript.php
 
et dans "/chemin/appel_monscript.php"


#!/bin/bash
 
if [ `/chemin/monscript.php` = "error" ]
then
  qqchose
else
  autre chose
fi


 
 
ce n'est qu'une idée, en effet pour ton cas il y a plein de solution


---------------
Du tofu en Alsace : www.tofuhong.com
n°1741008
veryfree
Posté le 03-06-2008 à 19:23:02  profilanswer
 

merci pour ton aide mais je preferere utiliser le php ( derrière il y aura des requete en BDD + des mails à envoyer etc )

n°1741038
leflos5
On est ou on est pas :)
Posté le 03-06-2008 à 21:48:36  profilanswer
 

A quoi correspondraient tes error ou warning :??: Des erreurs du script php :??: Si oui pourquoi ne pas les  gérer tout simplement :??:

n°1741051
veryfree
Posté le 03-06-2008 à 22:24:21  profilanswer
 

Salut,
 
celle qui peuvent etre "catché" par php le sont.  
 
apres certaines erreurs ne peuvent pas etre géré par le script ( parse error   - tres rare bien sur - depassement de memoire, objet non compatible avec la version php qui tourne et j'en passe ) Je parle de la gestion d'une 15 en de site différents qui executent quotidiennement plus de 50 scripts ... ca deviens un peu ingerable :s
 
 
d'une facon générale, ce qui sortira de la console est souvent plus bavard que ce que me donnera l'appli.
 
Aujourd'hui l'alternative c'est de faire  
 
script1.sh > log.log
fichierPhpQuiLitLeLog.php ( et envois le mail si soucis )
 
je veux juste le faire en court circuitant l'etape "log"
 
 

n°1741056
flo850
moi je
Posté le 03-06-2008 à 22:43:48  profilanswer
 

stderr est un flux de sortie,non ?  
 
essaye avec juste stdin  
 
et sinon, tu n'as rien dans $argc/$argv  quand tu lance ta commande ?


---------------

n°1741321
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 04-06-2008 à 12:57:52  profilanswer
 

et une commande avec > /home/user/templog.txt ?
(pour mettre la sortie dans /home/user/templog.pxp, après tu peux adepter l'uri et le nom du fichier) ...


---------------
NewsletTux - outil de mailing list en PHP MySQL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  recupérer sortie console en php

 

Sujets relatifs
Récuperer une variable dans Textbox d'un formviewcomment récupérer des variables dans...
[RESOLU] Récupérer des valeurs par une requête ldap_searchRécupérer une image d'une RichTextCtrl
[Résolu]Récupérer l'id courant ?recuperer les noms des images d'un dossier
[Résolu]Récupérer une valeur dans une bddRécupérer version HTML
récupérer les pièces jointes avec javaMailrécupérer une sortie console en C
Plus de sujets relatifs à : recupérer sortie console en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR