Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Echanges développeurs _ Mise en place CRON

Écrit par : datch1 24 Aug 2010, 17:05

Bonjour à tous,
d'un niveau tout à fait moyen en php, je viens de développer une page en php coté admin.
Pas de souci, ça tourne comme je veux :
en gros, je fais tourner une requete, je génère mon contenu et j'envoie le tout par mail.

Il s'agit ni plus ni moins qu'une détection d'erreur de stock et qui nous permet de monitorer la création d'erreur.

Formidable MAIS pour que ce soit efficace, j'ai besoin de faire tourner cette page toutes les 10 minutes.

Je dois donc faire tourner ça automatique au niveau du serveur par un CRON.

Mon hébergeur préféré vient de faire le test et ça en fonctionne pas (je suis en dédié).

Logique puisque ma page fait appel à application_top.php et à la fonction tep_mail.

Sauriez vous me direz qu'elle serait la meilleur méthode pour appeler la connexion db, la fonction tep_mail pour mettre tout ça directement dans le code de cette page ( et ce sans pour autant compromettre la sécurité du site...) ?

Question subsidiaire, dois je laisser la dite page dans mon répertoire admin ou dois-je la remonter à la racine?

Merci d'avance pour votre aide.
Nicolas

EDIT : je viens de voir ma signature, ce sujet n'est évident pas lié à la creload que j'utilise wink.gif (qui est honnie ici, je m'en souvient)

Écrit par : FoxP2 24 Aug 2010, 17:32

Rien à voir avec oscommerce, quelque soit la version.
si tu es sur un serveur dédié, c'est que toi ou quelqu'un de ton équipe possède les connaissances minimum d'une gestion d'un dédié. La mise en place d'une tache CRON ne relève pas d'une connaissance inabordable.
la configuration du serveur variant ne serait ce que par le système d'exploitation, il est impossible de donner une réponse générique.
il serait utile de te tourner vers la communauté qui connaisse celui ci. (debian, ubuntu, iis, etc ...).

en tous état de cause, ton script php doit être hébergé dans le dossier ou il aura accès aux fonction nécessaire à sa mise en oeuvre. et vu que le tache cron est interne, inutile de te prendre la tête de son emplacement, si ton admin est protégé correctement, personne n'y aura accès de l'extérieur.

Écrit par : riziere 24 Aug 2010, 17:56

On peux donc faire un CRON sur un fichier protégé par un htaccess ? Dans la zone admin par exemple ?


Écrit par : datch1 24 Aug 2010, 18:17

Merci pour vos réponses.
@FoxP2
Pas de soucis de compétence au niveau de l'admin du serveur puisque c'est mon hebergeur qui s'y colle (c'est une petite structure à taille humaine qui nous fait ça).

Mon souci réside plutot dans les élements de connection db et autre fonction qui sont habituellement dans application_top et configure..

Écrit par : FoxP2 24 Aug 2010, 18:44

Citation (riziere @ 24 Aug 2010, 17:56) *
On peux donc faire un CRON sur un fichier protégé par un htaccess ? Dans la zone admin par exemple ?

sur un dédié, le htaccess n'a aucune incidence sur le CRON sauf si on passe par un viewer type linx.(en supposant que le serveur est une distribution GNU/linux, chose qui n'est même pas précisé dans le sujet)

Citation (datch1 @ 24 Aug 2010, 18:17) *
Merci pour vos réponses.
@FoxP2
Pas de soucis de compétence au niveau de l'admin du serveur puisque c'est mon hebergeur qui s'y colle (c'est une petite structure à taille humaine qui nous fait ça).

Mon souci réside plutot dans les élements de connection db et autre fonction qui sont habituellement dans application_top et configure..

si ton fichier php tourne sans problème en l'appelant directement, je ne vois pas où est le problème. vois avec ton hébergeur pour plus de retour sur les erreurs (le forum ne peut pas être un substitut d'un service qui t'est déjà donné ailleurs et pour lequel tu payes le prix dans ton hébergement)

Écrit par : datch1 26 Aug 2010, 11:00

Bon, je viens de me repencher un peu sur l'échange msn avec mon hebergeur. C'est parfois utile de lire le schose wink.gif

Ci dessous le message de mon hébergeur préféré :
il est prévu pour être lancé via le web et pas en CLI
-->faut que tu précises le chemin des includes

Voici le message d'erreur
[user@www repertoire]$ php ./mouvement_verif_cron.php PHP Warning: main(includes/languages/french/): failed to open stream:
No such file or directory in /home/user/catalog/repertoire/includes/application_top.php on line 137
Content-type: text/html; charset=iso-8859-1 X-Powered-By: PHP/4.3.9 Set-Cookie: osCAdminID=d5f8525b6368b0a18230bc910c9666f0;
path=/repertoire/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache

Je confirme que la page tourne parfaitement en mode web standard.

Ce problème est il un peu le même que ceux qui avait des soucis avec Googlesitemap et des histoires de chemin ?
J'avais trouvé ceci lors de mes recherches sur les cron :
http://www.oscommerce-fr.info/forum/index.php?s=&showtopic=43323&view=findpost&p=222284

En gros c'est un problème tout ce qu'il y a de plus basique il me semble mais il dépasse mes compétences en php/oscomm. L'idée serait donc de préciser 'en dur' certains chemins.
Suis-je à votre avis sur la bonne piste?


PS: @FoxP2, c'est vrai que je ne sais même pas quelle version exacte de linux tourne sur mon dédié...un peu nul ça.


Écrit par : FoxP2 26 Aug 2010, 11:59

on peut voir le code du script que tu as écris ? donnes nous les chemins complets du backoffice. prends soin d'enlever tout ce qui pourrait identifier ton serveur.
pour ta gouverne, une tâche CRON peut être tout aussi bien écrite en python qu'en perl ou autre ... surtout pour ce que tu en attends.
quelle interface as tu pour administrer ton serveur ? webmin ? plesk ? autre ?

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)