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

  FORUM HardWare.fr
  Programmation
  PHP

  execution /usr/local/bin/php -q

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

execution /usr/local/bin/php -q

n°1290666
x_bce
Posté le 24-01-2006 à 09:02:46  profilanswer
 

Bonjour,  
 
J'ai un probleme sur mon site:  
 
L'execution du script via la crontable:  
10,25,40,55 0,1,3-23 * * * /usr/local/bin/php -q /home/site/www/admin/bce_force.php  
 
Focntionnait bien.  
 
On m'a réinstallé php5 et l'execution du script via la crontable ne fonctionne plus.  
 
Il doit y avoir un probleme de droits qu'il n'y avait pas avant.  
Lors que je lance cette commande depuis le rep 'admin' pas de souci mais si je la lance depuis '/' ou autre part, il y a des erreurs:  
 
Warning: main(../api/api_tools.php): failed to open stream: No such file or directory in /home/site/www/admin/bce_force.php on line 2  
Fatal error: main(): Failed opening required '../api/api_tools.php' (include_path='.:/usr/local/lib/php') in /home/site/www/admin/bce_force.php on line 2  
 
Que dois je configurer ou modifier?  
qu'est ce que PEAR?
 
merci d'avance  
 
Brice
 

mood
Publicité
Posté le 24-01-2006 à 09:02:46  profilanswer
 

n°1290679
skeye
Posté le 24-01-2006 à 09:48:37  profilanswer
 

Bah lis les messages...il n'arrive pas à ouvrir ton fichier api_tools.php, regarde s'il est bien au bon endroit et s'il est bien accessible par l'utilisateur qui exécute le script...[:skeye]


---------------
Can't buy what I want because it's free -
n°1290683
x_bce
Posté le 24-01-2006 à 09:53:53  profilanswer
 

oui les fichiers sont au bon endroits et ils sont accessibles par tous...car comme je l'ai dis, lorsque j'ecute bce_force dans son repertoire (php bce_force.php) ca fonctionne mais quand je l'execute a partir d'un autre rep ca ne fonction pas

n°1290687
skeye
Posté le 24-01-2006 à 09:56:57  profilanswer
 

...et si tu rajoutes cd /home/site/www/admin/; à ta ligne dans le crontab, ça marche? :D


---------------
Can't buy what I want because it's free -
n°1290694
x_bce
Posté le 24-01-2006 à 10:19:17  profilanswer
 

non ca ne fonctionne pas .... mais avant l'installation de php5 ca fonctionnait comme ca....c'est qu'il doit falloir configurer uelque chose

n°1290697
skeye
Posté le 24-01-2006 à 10:21:31  profilanswer
 

Ajouter le répertoire de api_tools (ou celui de ton script?) dans l'include_path dans ton php.ini, peut-être, alors?


Message édité par skeye le 24-01-2006 à 10:22:03

---------------
Can't buy what I want because it's free -
n°1290705
x_bce
Posté le 24-01-2006 à 10:32:14  profilanswer
 

ben il y a plusieurs fichiers include dans bce_force, je ne peux donc pas ajouter tous les repertoires ou se trouvent les php d'include

n°1290715
skeye
Posté le 24-01-2006 à 10:39:06  profilanswer
 

t'as quoi dans ton include_path actuellement?


---------------
Can't buy what I want because it's free -
n°1290718
x_bce
Posté le 24-01-2006 à 10:41:56  profilanswer
 

;include_path = ".:/php/includes"
mais c commenté ...

n°1290722
skeye
Posté le 24-01-2006 à 10:45:55  profilanswer
 

euh...décommente-le et mets au moins "." ;)


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 24-01-2006 à 10:45:55  profilanswer
 

n°1290729
x_bce
Posté le 24-01-2006 à 10:53:05  profilanswer
 

non ca ne change rien du tout grrr....
ce n'est pas du a PEAR?

n°1290730
skeye
Posté le 24-01-2006 à 10:54:15  profilanswer
 

je vois pas le rapport avec PEAR...[:autobot]


---------------
Can't buy what I want because it's free -
n°1290731
skeye
Posté le 24-01-2006 à 10:54:36  profilanswer
 

t'as relancé apache?


---------------
Can't buy what I want because it's free -
n°1290737
x_bce
Posté le 24-01-2006 à 11:00:51  profilanswer
 

non il faut?

n°1290738
skeye
Posté le 24-01-2006 à 11:01:42  profilanswer
 

Oui, sinon il ne prendra pas en compte tes modifs du php.ini à priori.


---------------
Can't buy what I want because it's free -
n°1290745
x_bce
Posté le 24-01-2006 à 11:09:02  profilanswer
 

ben non car c une commande php -q .... donc apache n'a rien a voir

n°1290749
skeye
Posté le 24-01-2006 à 11:10:23  profilanswer
 

Très bonne remarque...[:joce]


---------------
Can't buy what I want because it's free -
n°1290752
skeye
Posté le 24-01-2006 à 11:12:11  profilanswer
 

Quand tu le lances à la main tu utilises bien le même utilisateur que celui pour lequel tu as mis la ligne dans le cron?


---------------
Can't buy what I want because it's free -
n°1290754
x_bce
Posté le 24-01-2006 à 11:15:52  profilanswer
 

oui c'est root

n°1290761
cinocks
Posté le 24-01-2006 à 11:28:17  profilanswer
 

je dirais chemin relatif et chemin absolu. Il tente de chercher ../api/api_tools.php depuis la racine.  
 
J'imagine que le chemin desiré est /home/site/www/api/
 
Passe en absolu ou positionne toi sur le repertoire de  /home/site/www/admin/
 
:)


---------------
MZP est de retour
n°1290762
skeye
Posté le 24-01-2006 à 11:29:41  profilanswer
 

Pourtant avec . dans le include_path ça devrait passer...[:urd]
A moins qu'il n'en tienne pas compte en ligne de commande, mais ça me paraitrait bizarre...


---------------
Can't buy what I want because it's free -
n°1290763
x_bce
Posté le 24-01-2006 à 11:31:22  profilanswer
 

ouaip....j'ai tout essayé pr le include_path et rien ne fait grrrr

n°1290764
cinocks
Posté le 24-01-2006 à 11:32:16  profilanswer
 

ca devrait marcher dans le include path. Mais il faut bien modifier le script pour virer le ../api/api_tools.php et mettre api_tools.php tout court.


---------------
MZP est de retour
n°1290765
skeye
Posté le 24-01-2006 à 11:32:33  profilanswer
 

et si tu mets le chemin en dur dans ton script il tourne ou pas?


---------------
Can't buy what I want because it's free -
n°1290766
skeye
Posté le 24-01-2006 à 11:33:39  profilanswer
 

cinocks a écrit :

ca devrait marcher dans le include path. Mais il faut bien modifier le script pour virer le ../api/api_tools.php et mettre api_tools.php tout court.


 
Il peut aussi mettre le répertoire de son script dans le path, s'il utilise des chemins relatifs...


---------------
Can't buy what I want because it's free -
n°1290767
cinocks
Posté le 24-01-2006 à 11:34:51  profilanswer
 

aussi. Mais dans ce cas, c'est relatif au repertoire specifié dans le include_path.


---------------
MZP est de retour
n°1290769
x_bce
Posté le 24-01-2006 à 11:35:32  profilanswer
 

c a dire mettre '/home/site/www/admin/' dans le include_path? ca ne fonctionne pas non plus

n°1290772
skeye
Posté le 24-01-2006 à 11:36:19  profilanswer
 

tout à fait...m'enfin normalement le '.' devrait être le répertoire du script, donc en relatif ça devrait passer avec juste ça...non? [:urd]


---------------
Can't buy what I want because it's free -
n°1290773
cinocks
Posté le 24-01-2006 à 11:36:26  profilanswer
 

non, je n'ai pas du etre clair. Remplace ton chemin relatif dans ton script par le chemin absolu et vois ce que ca donne.


---------------
MZP est de retour
n°1290775
x_bce
Posté le 24-01-2006 à 11:37:28  profilanswer
 

ah ok...ben le probleme c ke les include font appelle a d'autres include et donc il faut remplacer dans tous le site....et il y en a bocoup...

n°1290776
cinocks
Posté le 24-01-2006 à 11:37:57  profilanswer
 

skeye a écrit :

tout à fait...m'enfin normalement le '.' devrait être le répertoire du script, donc en relatif ça devrait passer avec juste ça...non? [:urd]


 
./api_tools.php passe si tu mets le /home/site/www/api/ en include_path je suppose.


---------------
MZP est de retour
n°1290777
skeye
Posté le 24-01-2006 à 11:38:17  profilanswer
 

x_bce a écrit :

ah ok...ben le probleme c ke les include font appelle a d'autres include et donc il faut remplacer dans tous le site....et il y en a bocoup...


Nn, mais juste pour vérifier si passer en absolu résoud bien le problème pour le premier, déjà...


---------------
Can't buy what I want because it's free -
n°1290778
cinocks
Posté le 24-01-2006 à 11:38:26  profilanswer
 

x_bce a écrit :

ah ok...ben le probleme c ke les include font appelle a d'autres include et donc il faut remplacer dans tous le site....et il y en a bocoup...


 
Essaye dejà pour voir si c'est un probleme de chemin.


---------------
MZP est de retour
n°1290784
x_bce
Posté le 24-01-2006 à 11:41:50  profilanswer
 

effectivement si je mets:
<? require_once('/home/site/www/api/api_tools.php'); ?>
au lieu de :
<? require_once(../api/api_tools.php'); ?>
ca me reporte l'erreur a l'include d'apres!!!
 

n°1290790
cinocks
Posté le 24-01-2006 à 11:45:56  profilanswer
 

donc probleme de path. Soit il te faut voir l'include_path, soit modifier tous les scripts.
 
Soit la jouer simple. Puisque tu passes par une crontab qui lance ton php, pourquoi ne pas mettre un script intermediaire, un sh.
 
La crontab appelle un /home/site/www/admin/bce_force.sh.
 

Code :
  1. 10,25,40,55 0,1,3-23 * * * /home/site/www/admin/bce_force.sh


crontab édité
 
Ce bce_force.sh fait:
 

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


 
Le script php sera lancé depuis le bon repertoire et les chemins relatifs devraient fonctionner.
 
ne pas oublier de donner les droits en execution pour le script bce_force.sh.


Message édité par cinocks le 24-01-2006 à 11:58:05

---------------
MZP est de retour
n°1290802
x_bce
Posté le 24-01-2006 à 11:54:27  profilanswer
 

euh dans le cronc plutot:
 
10,25,40,55 0,1,3-23 * * * /home/site/www/admin/bce_force.sh
 
non?

n°1290803
cinocks
Posté le 24-01-2006 à 11:57:26  profilanswer
 

oui pardon, copier/coller trop rapide. :D


---------------
MZP est de retour
n°1290806
x_bce
Posté le 24-01-2006 à 12:00:36  profilanswer
 

bon ben le sh s'est lancé mais la commande
/usr/local/bin/php -q bce_force.php  apparement na pas tourné.
J'ai fai un mkdir en fin de script pour voir si effectivement il a vait tourné et oui... le rep s'est créé mais le lancement de bce_force n'a pas marché........jvais pas y arriver.....arf

n°1290808
cinocks
Posté le 24-01-2006 à 12:01:51  profilanswer
 

et en mettant le chemin absolu du script dans le sh.


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

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   profilanswer
 

 Page :   1  2
Page Précédente

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

  execution /usr/local/bin/php -q

 

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