Executer un script php sans charger le code
                    
        
     
             
                    IdleMan
    
        
    
                    Messages postés
            
                
     
             
            254
        
            
                                    Statut
            Membre
                    
                -
                                     
tatanga -
        tatanga -
        Bonjour,
Je ne suis pas un habitué de ce forum , je m'excuse a l'avance si j'ai posté au mauvais endroit ou si la question a deja été posée ( je tiens a préciser que j'ai cherché sur google et sur ce forum une reponse a ma question mais j'ai du taper les mauvais mot clés , je n'ai rien trouvé) .
Ma question est la suivante : Comment executer un script php sans avoir a charger la page ? Ou encore Comment demander au serveur d'executer le script sans l'intervention du client ?
Un exemple : Je veut que mon script vérifie une base de donnée SQL toutes les heures , mais je ne veut pas avoir a revenir toutes les heures pour executer la page sur laquelle se trouve le script ... (ben oui parfois je dors)
J'espere que j'ai été clair dans mon explication ... c'est un probleme tout débile en fait mais je m'arrache les cheveux dessus depuis quelques temps.
Merci de m'avoir lu jusqu'au bout :)
                
            
                
    
    
    
        Je ne suis pas un habitué de ce forum , je m'excuse a l'avance si j'ai posté au mauvais endroit ou si la question a deja été posée ( je tiens a préciser que j'ai cherché sur google et sur ce forum une reponse a ma question mais j'ai du taper les mauvais mot clés , je n'ai rien trouvé) .
Ma question est la suivante : Comment executer un script php sans avoir a charger la page ? Ou encore Comment demander au serveur d'executer le script sans l'intervention du client ?
Un exemple : Je veut que mon script vérifie une base de donnée SQL toutes les heures , mais je ne veut pas avoir a revenir toutes les heures pour executer la page sur laquelle se trouve le script ... (ben oui parfois je dors)
J'espere que j'ai été clair dans mon explication ... c'est un probleme tout débile en fait mais je m'arrache les cheveux dessus depuis quelques temps.
Merci de m'avoir lu jusqu'au bout :)
        A voir également:         
- Executer un script php sans charger le code
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Script vidéo youtube - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
12 réponses
                        
                            
                    Bonjour,
Une fonction php, je vois mal comment, puisque elle même doit bien être appelée... Une fonction JavaScript, aucune chance puisque justement JavaScript est côté client.
Ceci dit, tu peux trouver dans ton répertoire d'installation de php un exécutable, php.exe
Tu peux l'utiliser directement en utilisant la commande suivante :
php.exe -f nomFichier.php
Pour plus de possibilités, tape php -?
Exemples de résultats, dans une fenêtre de commande :
Exemple d'appel à une page php, cette fois.
page test.php
Ensuite, tu peux mettre ça en batch si tu as plusieurs appels à faire, et placer tout çs dans un cron ou dans le planificateur de tâche windows...
Xavier
    
                Une fonction php, je vois mal comment, puisque elle même doit bien être appelée... Une fonction JavaScript, aucune chance puisque justement JavaScript est côté client.
Ceci dit, tu peux trouver dans ton répertoire d'installation de php un exécutable, php.exe
Tu peux l'utiliser directement en utilisant la commande suivante :
php.exe -f nomFichier.php
Pour plus de possibilités, tape php -?
Exemples de résultats, dans une fenêtre de commande :
E:\Program Files\wamp\bin\php\php5.2.5>php.exe -?
Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a
  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -s               Display colour syntax highlighted source.
  -v               Version number
  -w               Display source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.
  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin
  --ini            Show configuration file names
  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --ri <name>      Show configuration for extension <name>.
Exemple d'appel à une page php, cette fois.
page test.php
<?php echo "Hello World"; ?>Et le résultat :
E:\Program Files\wamp\bin\php\php5.2.5>php -f test.php Hello WorldVoilà !
Ensuite, tu peux mettre ça en batch si tu as plusieurs appels à faire, et placer tout çs dans un cron ou dans le planificateur de tâche windows...
Xavier
                        
                    Bonsoir
Pourquoi ne veux-tu pas de l'intervention d'un client ? Il y a des 'clients automatiques' qui font ça très bien même quand tu dors ou que tu pars en vacances. Exemple gratuit : webcron.org.
    
                Pourquoi ne veux-tu pas de l'intervention d'un client ? Il y a des 'clients automatiques' qui font ça très bien même quand tu dors ou que tu pars en vacances. Exemple gratuit : webcron.org.
                        
                    Merci pour ta réponse :)
hé bien j'aimerais ne pas avoir a passer par un client tout simplement parce que ça ne fais pas pro et que je pense q u'il y a un moyen que le script s'execute tout seul , de plus j'ai besoin que le script s'executes a heures variables en fonction du nombre de visiteurs presents sur mon site et de plusieurs autres facteurs aleatoires , bref il faut que je puisse configurer les lancements du script a partir de mon script et non a partir d'un service comme webcron.org
il dois bien y avoir une fonction php ou javascript (ou autre) qui permet a php de se lancer sans l'intervention du client .
    
                hé bien j'aimerais ne pas avoir a passer par un client tout simplement parce que ça ne fais pas pro et que je pense q u'il y a un moyen que le script s'execute tout seul , de plus j'ai besoin que le script s'executes a heures variables en fonction du nombre de visiteurs presents sur mon site et de plusieurs autres facteurs aleatoires , bref il faut que je puisse configurer les lancements du script a partir de mon script et non a partir d'un service comme webcron.org
il dois bien y avoir une fonction php ou javascript (ou autre) qui permet a php de se lancer sans l'intervention du client .
                        
                    Si tu veux le faire a intervalle régulière et uniquement sur ta base de données tu peux peut etre utiliser des triggers
                
                
    
                Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    Bonjour,
Houla ^^ Je n'y connais rien en dehors du php (et encore le php je connais juste les bases) .
Dans quoi dois je taper toutes ces commandes ?
Que dois je mettre dans le fichier php.exe?
Ou dois je placer le fichier php.exe ? Sur mon ftp ? Je ne suis pas sur qu'on puisse executer de fichier .exe sur les ftp free .
Bref part du principe que je suis un parfait neophyte et que je n'ai pas compris un mot de ce que tu a dis ^^ Y aurais t'il moyen d'avoir une "notice pour les nuls" ? :D
Merci infiniment pour ta reponse , meme si j'ai rien compris ya un debut de piste :)
    
                Houla ^^ Je n'y connais rien en dehors du php (et encore le php je connais juste les bases) .
Dans quoi dois je taper toutes ces commandes ?
Que dois je mettre dans le fichier php.exe?
Ou dois je placer le fichier php.exe ? Sur mon ftp ? Je ne suis pas sur qu'on puisse executer de fichier .exe sur les ftp free .
Bref part du principe que je suis un parfait neophyte et que je n'ai pas compris un mot de ce que tu a dis ^^ Y aurais t'il moyen d'avoir une "notice pour les nuls" ? :D
Merci infiniment pour ta reponse , meme si j'ai rien compris ya un debut de piste :)
    Alors, pour répondre à tout ça.
1 - php.exe existe déjà sur tout serveur php, puisque c'est le programme php lui-même. Pas besoin, donc d'y mettre quoi que ce soit.
2 - Toutes ces commandes, il faut les taper dans la fenêtre de commandes windows. Sous Windows XP, que tu as, il faut faire Démarrer -> Exécuter -> cmd, puis utiliser la commande "cd" qui permet de changer de répertoire, jusqu'à trouver celui du répertoire php : cd "program files\wamp\bin\php", par exemple. Là, tu peux taper les commandes.
Tu peux aussi rester sur c:\ à la racine, et taper "program files\wamp\bin\php\php.exe" -f ..\..\www\test.php
3 - Il ne faut pas déplacer ce php.exe. Si tu es sur Free, ou un autre hébergeur sur lequel tu n'as pas de contrôle, effectivement cette solution ne sera pas viable car tu n'auras vraisemblablement pas accès à l'exécutable php...
Je pense que dans ton cas, l'idéal serait de demander au support de free s'il y a moyen de mettre en place un Cron, ou une tache planifiée, ou un accès à php.exe pour effectuer ces commandes... Mais j'en doute...
Xavier
    1 - php.exe existe déjà sur tout serveur php, puisque c'est le programme php lui-même. Pas besoin, donc d'y mettre quoi que ce soit.
2 - Toutes ces commandes, il faut les taper dans la fenêtre de commandes windows. Sous Windows XP, que tu as, il faut faire Démarrer -> Exécuter -> cmd, puis utiliser la commande "cd" qui permet de changer de répertoire, jusqu'à trouver celui du répertoire php : cd "program files\wamp\bin\php", par exemple. Là, tu peux taper les commandes.
Tu peux aussi rester sur c:\ à la racine, et taper "program files\wamp\bin\php\php.exe" -f ..\..\www\test.php
3 - Il ne faut pas déplacer ce php.exe. Si tu es sur Free, ou un autre hébergeur sur lequel tu n'as pas de contrôle, effectivement cette solution ne sera pas viable car tu n'auras vraisemblablement pas accès à l'exécutable php...
Je pense que dans ton cas, l'idéal serait de demander au support de free s'il y a moyen de mettre en place un Cron, ou une tache planifiée, ou un accès à php.exe pour effectuer ces commandes... Mais j'en doute...
Xavier
                        
                    Je suis sur free  :(  , le cas echeant je peut me mettre sur 1and1 .
Pour taper les commandes il faut avoir installé wamp en fait ?
    
                Pour taper les commandes il faut avoir installé wamp en fait ?
    Le problème sera le même sur 1 and 1. En fait, à moins d'avoir ton serveur à toi sur lequel tu as tous pouvoirs, tu ne pourras pas t'en sortir. La meilleure solution reste donc celle de Le Père au message 2.
>Pour taper les commandes il faut avoir installé wamp en fait ?
Non non. Ceci était un exemple, parce que sur ma machine c'est wamp que j'ai ^^
Mais wamp, finalement, ce n'est qu'un package qui installe plusieurs composants, dont le serveur php.
Ce qu'il faut c'est juste avoir ce serveur php, que ce soit avec wamp, lamp, easyphp ou directement l'application php hors package.
Évidemment, le chemin d'accès à l'exécutable dépend de ce que tu as installé, mais tu trouveras toujours ce php.exe !
    >Pour taper les commandes il faut avoir installé wamp en fait ?
Non non. Ceci était un exemple, parce que sur ma machine c'est wamp que j'ai ^^
Mais wamp, finalement, ce n'est qu'un package qui installe plusieurs composants, dont le serveur php.
Ce qu'il faut c'est juste avoir ce serveur php, que ce soit avec wamp, lamp, easyphp ou directement l'application php hors package.
Évidemment, le chemin d'accès à l'exécutable dépend de ce que tu as installé, mais tu trouveras toujours ce php.exe !
                        
                    Oki , merci pour toutes ces précisions , il n'y a donc aucun moyen d'executer des scripts php par le serveur sans posseder sois même le serveur .
Moi qui croyais que le net était sans limites et qu'il ne pouvais pas évoluer d'avantage :) il vas falloir que j'attende que quelque créé une commande php genre server_exe(page.php,date,frequence) ;
Je vais me faire cryogeniser je vous retrouve dans quelques années :D .
Merci encore pour vos réponses.
    
                Moi qui croyais que le net était sans limites et qu'il ne pouvais pas évoluer d'avantage :) il vas falloir que j'attende que quelque créé une commande php genre server_exe(page.php,date,frequence) ;
Je vais me faire cryogeniser je vous retrouve dans quelques années :D .
Merci encore pour vos réponses.
                        
                    Salut tous le monde,
j'ai trouver cette discusion très utile sauf que j'ai un petite problème :
lorsque je veut exécuter un script sous dos :
exemple : php.exe exemple.php ou même avec attribu -f,
je reçoit pas d'erreur mais le script ne s'exécute pas non plus !!!
le script fonctionne bien si je passe a travers un navigateur !!
    
                j'ai trouver cette discusion très utile sauf que j'ai un petite problème :
lorsque je veut exécuter un script sous dos :
exemple : php.exe exemple.php ou même avec attribu -f,
je reçoit pas d'erreur mais le script ne s'exécute pas non plus !!!
le script fonctionne bien si je passe a travers un navigateur !!
