web-dev-qa-db-fra.com

Comment exécuter un fichier PHP dans une tâche planifiée (Planificateur de tâches Windows)

Comment puis-je créer une tâche planifiée pour exécuter un fichier PHP?
Oui, j'ai tout rempli dans la tâche planifiée, mais cela ne fonctionne toujours pas.

Exécutez: "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\WEB\4w_website\save.php"

Commencez par: "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\WEB\4w_website"

Il ouvre simplement le fichier PHP dans le Bloc-notes.

J'ai donné le nom d'utilisateur correct et pwd.

Aidez-moi, s'il vous plaît..

46
praveenjayapal

La commande Exécuter doit être

 C:\Path\to\php.exe -f "C:\Path\to\file.php" 

Depuis l'aide en ligne de commande de php.exe:

 - f Analyser et exécuter <fichier>. 
67
Tomalak

Je viens d'écrire un .bat fichier qui fait le travail file.bat

@ECHO OFF
php.exe -f "C:\code\cust.php"

Et mettez-le dans les tâches de planification comme ceci:

Courir: C:\code\file.bat

Commencez par: C:\code\

14
matobago

Si vous exécutez des scripts php, dans la plupart des cas, le script attend d'être exécuté dans le dossier actuel. Cela signifie que vous devez configurer un dossier pour chacune de vos actions, utilisez le champ "Start In".

Exemple:

Run: C:\php\php.exe 
Arguments: -f C:\web\myscript.php

N'oubliez pas:

 Start in: C:\web\
6
Martin

On dirait que vous n'avez pas de fichiers PHP associés à l'EXE.

Vous pouvez le faire Poste de travail> Outils> Options des dossiers> Types de fichiers. Si rien d'autre, cela peut également vous aider à vérifier vos paramètres pour eux.

Sinon, vous pouvez spécifier "C:\path\to\php.exe [fichier]" dans la tâche.

5
Jonathan Lonowski

Pour les personnes qui ne peuvent pas faire fonctionner la réponse de @ Tomalak:

Vérifiez s'il y a des espaces () dans votre répertoire. Si c'est le cas, vous devez les joindre avec ".

"C:\Path\to php file\php.exe" -f "C:\Path\to php file\file.php"

Et si cela ne fonctionnait toujours pas, vérifiez votre file.php s'il contient des fichiers.

include("file2.php"); /* OR */
include_once("file2.php");

Retirez-le. Et si le fichier inclus dans votre file.php est vraiment nécessaire, essayez de déplacer le code/script de ce fichier inclus vers votre fichier principal.

2
Logan Wayne

C'est ce que j'ai fait:

  1. Fichier PHP

    <?php my code goes here ?>
    

    * Notez que si vous utilisez HTTP API/CURL en CLI, utilisez dl("php_curl.dll");

    cela charge curl en cli

  2. Maintenant, j'ai ajouté PHP à la variable de chemin d'accès Windows, cela peut être fait à partir de Mon ordinateur, propriétés, paramètres avancés, variables d'environnement, nouveau

  3. Ensuite, j'ai créé un fichier .bat, ouvrez simplement un bloc-notes et tapez le code ci-dessous et enregistrez-le sous monfichier.bat

    @ECHO OFF
    php -f d:\wamp\www\V3\task.php
    

    Ce site pourrait vous aider sur la syntaxe du fichier .bat.

  4. Créez maintenant une nouvelle tâche planifiée sur Windows et appelez le fichier .bat ci-dessus comme source,

2
charles