rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Executer un script php sans charger le code

IdleMan, le vendredi 22 février 2008 à 11:23:00
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 :)
Configuration: Windows XP
Firefox 2.0.0.12
Répondre à IdleMan  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
IdleMan, le vendredi 22 février 2008 à 21:58:06
Un ptit up désolé .
Répondre à IdleMan

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le père, le vendredi 22 février 2008 à 22:32:37
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.
Répondre à le père

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
IdleMan, le mardi 26 février 2008 à 11:49:00
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 .
Répondre à IdleMan

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le mardi 26 février 2008 à 12:17:24
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 :
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 World
Voilà !

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
Répondre à Reivax962

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
IdleMan, le mercredi 27 février 2008 à 10:46:48
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 :)
Répondre à IdleMan

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le mercredi 27 février 2008 à 11:58:42
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
Répondre à Reivax962

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le père, le mercredi 27 février 2008 à 13:31:53
Si tu es sur Free, ou un autre hébergeur ... then goto 2 :D
Répondre à le père

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
IdleMan, le mercredi 27 février 2008 à 16:56:13
Je suis sur free :( , le cas echeant je peut me mettre sur 1and1 .

Pour taper les commandes il faut avoir installé wamp en fait ?
Répondre à IdleMan

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le mercredi 27 février 2008 à 17:07:29
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 !
Répondre à Reivax962

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 IdleMan, le jeudi 28 février 2008 à 16:11:13
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.
Répondre à IdleMan
Logiciels pertinents trouvés dans les téléchargements
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger All In One Video Script 1.0All In One Video Script - All In One Video Script est un script pour l'extension GreaseMonkey pour le navigateur Firefox permettant de détecter la...Catégorie: Vidéo
Licence: Freeware/gratuit
Télécharger Vista Codec Package 4.7.3Vista Codec Package - Vista Codec Package regroupe une collection impressionnante de codecs (audio et vidéo), permettant d'ouvrir la plupart...Catégorie: Codecs
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Executer un script php sans charger le code »