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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

execution /usr/local/bin/php -q

n°1290810
x_bce
Posté le 24-01-2006 à 12:04:14  profilanswer
 

Reprise du message précédent :
en fait kan je lance le script a la main il fonctionne mais c'est kan il est lancé de la crontab kil ne fonctionne pas et il est en 755

mood
Publicité
Posté le 24-01-2006 à 12:04:14  profilanswer
 

n°1290812
cinocks
Posté le 24-01-2006 à 12:09:59  profilanswer
 

essaye avec le chemin absolu dans le sh.
 
C'est bizarre ton truc. Il nous manque une etape. Je fais tous mes traitements de cette maniere.


---------------
MZP est de retour
n°1290817
x_bce
Posté le 24-01-2006 à 12:14:21  profilanswer
 

ben non justement le pb c'est kan je tape
 /usr/local/bin/php -q /home/site/admin/bce_force.php => ca ne marche par contre  
cd /home/site/admin/
/usr/local/bin/php -q bce_force.php  
marche

n°1290821
omega2
Posté le 24-01-2006 à 12:16:36  profilanswer
 

Extrait de la documentation de php :

Citation :

Le CLI SAPI ne transforme pas le dossier courant en dossier d'exécution du script!  
 
Exemple de différence entre CGI SAPI et CLI SAPI :  
 
<?php
// Un test simple : affiche le dossier d'exécution */
echo getcwd(), "\n";
?>  
 
Lorsque vous utilisez la version CGI , l'affichage sera :  
$ pwd
/tmp
 
$ php-cgi -f autre_dossier/test.php
/tmp/autre_dossier
Cela montre clairement que PHP modifie le dossier courant, et utilise le dossier du script exécuté.  
 
En utilisant le CLI SAPI , on obtient :  
$ pwd
/tmp
 
$ php -f autre_dossier/test.php
/tmp
Cela donne beaucoup plus de souplesse lorsque vous rédigez des scripts shell avec PHP.  
 
Note  
Le CGI SAPI se comporte de la même façon que le CLI SAPI , en lui passant l'option -C , lorsque vous l'invoquez en ligne de commande.


Citation :

Les différences les plus notables entre le CLI SAPI et les SAPI sont :  
 
Contrairement au CGI SAPI , aucun en-tête HTTP n'est écrit dans le résultat.  
 
Bien que le CGI SAPI fournisse un moyen de supprimer les en-têtes HTTP, il n'y a pas moyen d'activer les en-têtes HTTP dans le CLI SAPI .  
 
CLI est lancé en mode silencieux par défaut, bien que les options -q et --no-header soient gardées pour rester compatible avec les anciennes versions CGI.  
 
Il ne change pas le répertoire courant en celui du script. (les options -C et --no-chdir sont gardées par souci de compatibilité)  
 


Donc : vu que tu exécutes la commande "/usr/local/bin/php -q /home/site/www/admin/bce_force.php" :
- le répertoire courant est indéfinis (surement le répertoire courant de crontab j'imagine) donc les includes relatifs ont 99.99% de chance de foirer. Il faut donc que tu fasses un script *sh qui permettra de changer le répertoire courant avant l'exécution de php et qui lancera php jsute aprés.
- l'option -q ne sert plus à rien vu que la version SAPI (celle que t'exécute) n'affiche plus les header par défaut. Tu peux donc enlever cette option de ta ligne de commande.
 
 
EDIT : voilà le paragraphe que j'ai cité : 7.10 Utiliser PHP en ligne de commande ( http://www.nexen.net/index.php?opt [...] %25C9%2585 )


Message édité par omega2 le 24-01-2006 à 12:20:07
n°1290827
x_bce
Posté le 24-01-2006 à 12:24:42  profilanswer
 

oui genre ce:
cd /home/site/admin/  
/usr/local/bin/php -q bce_force.php  ?

n°1290833
cinocks
Posté le 24-01-2006 à 12:29:49  profilanswer
 

ca ne marche pas ce que j'ai mis pour le sh?


---------------
MZP est de retour
n°1290835
x_bce
Posté le 24-01-2006 à 12:33:23  profilanswer
 

ben non justement le pb c'est kan je tape  
 /usr/local/bin/php -q /home/site/admin/bce_force.php => ca ne marche par contre  
cd /home/site/admin/  
/usr/local/bin/php -q bce_force.php  
marche

n°1290838
cinocks
Posté le 24-01-2006 à 12:40:56  profilanswer
 

Je ne comprends pas ton probleme.
 
Déjà mets ça dans le sh
 

Code :
  1. cd /home/site/www/admin/
  2. /usr/local/bin/php bce_force.php >>bce_force.log


 
Les messages d'erreur de PHP seront redirigés dans le fichier et regarde ce que donne la log.
 
Tu dis bien que la methode que je t'ai donnée fonctionne. Ou est le problème alors?:??:


---------------
MZP est de retour
n°1290913
x_bce
Posté le 24-01-2006 à 14:42:03  profilanswer
 

le fichier bce_force.log est vide!!!

n°1290930
omega2
Posté le 24-01-2006 à 15:04:01  profilanswer
 

ca veut donc dire que php n'a rien affiché sur le canal d'erreur.
Bin que pour être complet au niveau log, il serait bon de logguer aussi la sortie standard afin de savoir ce que le programme à essayé d'afficher :
 

Code :
  1. cd /home/site/www/admin//usr/local/bin/php bce_force.php >bce_force_std.log  >>bce_force_err.log


Là, ca envoie dans bce_force_std.log ce qui aurait été affiché à l'écran normalement et dans bce_force_err.log ce qui est renvoyé dans le canal d'erreur.
 
J'espéres que ca te fournira plus de détail sur le probléme.

mood
Publicité
Posté le 24-01-2006 à 15:04:01  profilanswer
 

n°1290943
x_bce
Posté le 24-01-2006 à 15:15:56  profilanswer
 

les 2 fichiers sont vides.....
c le cron ki merde car kan je lance le .sh a la main ca fonction mais quand c'est le cron ca ne marche pas

n°1290967
cinocks
Posté le 24-01-2006 à 15:23:44  profilanswer
 

euh le cron ne merde pas. Fais lui faire autre chose dans le sh. Genre un ls  redirigé, toujours dans le fichier de log.


---------------
MZP est de retour
n°1291021
x_bce
Posté le 24-01-2006 à 15:49:20  profilanswer
 

oui effectivement je fais un mkdir ca marche....
donc c bien le php bce_force.php ki ne fonctionne pas dans le .sh

n°1291092
cinocks
Posté le 24-01-2006 à 16:24:18  profilanswer
 

dans ce cas, vas-y doucement. Appelle un fichier php avec uniquement un echo dedans pour voir s'il y a une sortie.


---------------
MZP est de retour
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Attendre la fin d'une éxécutiontransfert entre 2 BdD local à internet => besoin d'aide
[SGBD/SQL] Création et utilisation d'une base de donnée en local. AVISprobleme d'execution
Probleme execution script python sitemap googlecalculer temps d'exécution d'un prog
[Résolu] Exécution d'un batch pour ftp...Problème execution VB Script en ASP
php marche en local mais pas chez free ? ?[résolu] avoir le dossier local dans lequel on est ?
Plus de sujets relatifs à : execution /usr/local/bin/php -q


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