executer une page .php en fond

executer une page .php en fond - PHP - Programmation

Marsh Posté le 28-03-2013 à 13:30:42    

bonjour à tous ,  
 
voila sur mon site j'utilise un comptage de fichiers pour savoir le nb exact sur le serveur .
forcement plus il y a de fichiers plus c'est long a afficher .
j'ai donc separé de ma page le script php qui effectue cette tache , pour soulager l'ensemble  
les infos sont stocké dans un fichier txt .
 
a chaque affichage de la page index.php , je vais lire le fichier txt  
pour mettre a jour mon fichier je dois executer la page compteur.php manuellement  
 
j'arrive pas a faire tourner ce script quand on arrive sur le site ou qu'on charge la page index.php  
 
en fait c'est les gens en navigant sur le site qui mettrons a jour le fichier txt avec le compteur mais en tache de fond  
 
j'ai testé exec('compteur.php') ;  
sur ma page index.php mais il se passe rien  
 
comment puis je executer ce code en fond ?  
 
cdt Pascal

Reply

Marsh Posté le 28-03-2013 à 13:30:42   

Reply

Marsh Posté le 28-03-2013 à 13:45:10    

faut appeler l'interpréteur php en ligne de commande, les *.php n'étant pas des exécutable ;)
 
exec("chemin_du_php.exe chemin_du_script_php_a_executer" );


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 28-03-2013 à 14:03:36    

bonjour rufo
 
donc je dois passer par un faux .exe en fait  
 
pour mon cas je dois mettre :
 
exec("../../compteur.php.exe ../../compteur.php" );
 

Reply

Marsh Posté le 28-03-2013 à 16:31:22    

il permet d'exécuter des .php ton binaire compteur.php.exe :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 28-03-2013 à 16:39:30    

je ne comprends pas cette commande , desolé ;(  
je suis un peu perdu

Reply

Marsh Posté le 28-03-2013 à 16:57:22    

Y'a eu mésentente je pense que rufo parle du binaire php, un php.exe sous windows, ou juste un php sous Linux.
 
Exemple sous Linux

Code :
  1. exec("/usr/bin/php monfichier.php" ); // permet de lancer monfichier.php, attention aux chemin d'accès et aux droits


 
La syntaxe Windows est équivalente.  

Code :
  1. exec("C:\\PHP\php.exe monFichier.php" );

Reply

Marsh Posté le 28-03-2013 à 17:27:17    

salut xaeon
 
je viens de tester , j'ai mis ce code sur ma page index.php premiere ligne
 
exec("/usr/bin/php homez.100/xxx/www/compteur.php" );
 
il se passe rien , pour info je suis chez OVH

Reply

Marsh Posté le 28-03-2013 à 22:37:28    

Tu es sur un dédié ou un mutualisé chez OVH?
 
Dans le premier cas, connecte toi en ssh sur ta machine et execute un  

Code :
  1. php cheminAbsoluDeMonFichier/monFichier.php


 
Le plus simple étant d'avoir le chemin absolu, en partant de la racine /
 
Dans le cas d'un mutualisé, aucune idée mais il est possible que tu ne puisses pas interagir avec le binaire php directement. A voir avec d'autres ici plus compétents que moi sur la question

Reply

Marsh Posté le 29-03-2013 à 05:32:54    

salut  
 
c'est un mutualisé je crois l'offre 100Go
 
par contre est ce que la fonction CRON permet de le faire  
si jamais ca marche pas le exec() je lance un cron de 30 minutes par  
et ca met à jour mon txt via le script ?
 
risqué ou pas ?  

Reply

Marsh Posté le 29-03-2013 à 07:23:57    

Si le binaire php est accessible par la crontab alors c'est une solution envisageable

Reply

Marsh Posté le 29-03-2013 à 07:23:57   

Reply

Marsh Posté le 29-03-2013 à 16:31:27    

j'essai de me renseigner chez ovh savoir si le exec() peut passer
 
EDIT :
 
j'ai activer un CRON via le manager de OVH , c'est toutes les heures mais bon pour le moment j'ai pas mieux pour mettre à jour mon script


Message édité par pascal- le 29-03-2013 à 16:38:19
Reply

Marsh Posté le 30-03-2013 à 16:40:15    

trouvé mais ca rame toujours  
 
exec('/usr/local/bin/php.ORIG.5 .......)
 
pour ovh il faut ca et non '/usr/bin/php


Message édité par pascal- le 30-03-2013 à 16:44:35
Reply

Marsh Posté le 30-03-2013 à 17:59:07    

j'ai contourné le soucis :) avec le planificateur de tache de mon hebergeur :)  
probleme resolu  
 
mercc à tous

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed