web-dev-qa-db-fra.com

Comment appeler une URL en tant que tâche cron dans Webmin?

(Peut-être que cela appartient à stackoverflow, bien que ce ne soit pas vraiment un problème de programmation puisque le code fonctionne lorsqu'il est exécuté directement. S'il doit être déplacé, aucun problème.)

J'ai un fichier PHP (qui utilise un service Web du service météorologique national via SOAP, le cas échéant) que je dois exécuter de manière planifiée. J'essaie de configurer un travail cron dans Webmin. Si j'utilise un chemin absolu vers le fichier dans le champ Commande, lorsque je l'exécute, des erreurs étranges se produisent:

/var/www/html/mysite.com/test/ndfdXMLclient.php: line 1: ?php: No such file or directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 2: //: is a directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 3: //DOCUMENTATION: No such file or directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 4: //: is a directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 5: syntax error near unexpected token `"running client code",'
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 5: `error_log("running client code", 1, "[email protected]");'

Le code réel dans mon fichier pour ces 5 lignes ressemble à ceci:

<?php
//  ***************************************************************************
//DOCUMENTATION FROM WEATHER.GOV ALL STORED IN xmlClientComments.txt
//  ***************************************************************************
error_log("running client code", 1, "[email protected]");

Le code fonctionne parfaitement lorsque je l'exécute directement dans mon navigateur, alors pourquoi Webmin ne le reconnaît-il pas comme code? (La même chose se produit si j'entre l'URL réelle dans le champ de commande - http://mysite.com/test/ndfdXMLclient.php .)

Je n'ai jamais travaillé avec Webmin auparavant; la plupart des panneaux de contrôle cron de nos hôtes permettent aux tâches cron d'exécuter PHP fichiers comme celui-ci sans problème. Y at-il une astuce pour obtenir webmin pour lire php comme php réel?

2
EmmyS

Vous devrez probablement ajouter le hashbang en haut de votre script pour que le serveur sache où trouver PHP pour précéder le script.

Assurez-vous que le chemin d'accès à l'exécutable PHP est correct pour votre serveur.

#!/usr/bin/php -q
<?php
//  ***************************************************************************
//DOCUMENTATION FROM WEATHER.GOV ALL STORED IN xmlClientComments.txt
//  ***************************************************************************
error_log("running client code", 1, "[email protected]");
2
John Conde