Bonjour,
Voila je me permets de laisser un message ici, parce que je suis complétement bloqué depuis plusieurs jours.
J'ai un site d'annonces en Symfony 6. J'ai crée une commande exécutable permettant d'envoyer un mail si l'annonce à plus d'un mois d'existence, histoire de savoir si elle est toujours d'actualité (via : class CheckAnnoncesCommand extends Command)
Tout fonctionne parfaitement en local, je reçois bien le mail en exécutant ma commande. Une fois en prod, ma commande fonctionne partiellement : j'enregistre en BDD un champ en plus pour savoir si le user à déjà eu un mail : ça c'est OK. En revanche impossible d'envoyer le mail j'ai toujours cette erreur :
> Connection could not be established with host "ssl://ssl0.ovh.net:465": stream_socket_client(): Unable to connect to ssl://ssl0.ovh.net:465 (Connection refused)
J'ai essayé avec Sendinblue et le port 587, même prbleme… J'en déduis que mon mutualisé (pro2014) bloque l'envoi de mail via CRON/ et les commandes… Mais je trouve ça étrange… Quelqu'un a un idée ?
Merci d'avance.
mutualisé (pro2014) bloque l'envoi de mail via CRON/ et les commandes
Bonjour, les environnement cron et ssh sont fortement bridés au niveau des accès réseau sortants.
Si votre programme est en php, mettez-le dans votre site et appelez-le via curl ou wget. Dans ce scénario c'est le serveur web et le cron qui va l'exécuter.
Si c'est un programme compilé, vous pouvez essayer en le mettant dans le répertoire /cgi-bin/ de votre hébergement...
Ok merci pour votre message. J'ai fait comme ça du coup.
Par contre j'ai un nouveau problème avec ma tache CRON, j'arrive a lancer ma commande en SSH sans problème, je n'ai pas d'erreur…
Mais lorsque je programme ma tache j'ai cette erreur :
[2023-07-09 22:01:02] ## OVH ## START - 2023-07-09 22:01:02.218833 executing: /usr/local/php8.1/bin/php /homez.254/ulmaven/www/src/Command/CheckAnnoncesCommand.php
[2023-07-09 22:01:02]
[2023-07-09 22:01:02] ## OVH ## END - 2023-07-09 22:01:02.317618 exitcode: 255
Je suppose que j'ai un problème avec mon path, mais c'est étrange parce qu'elle s'est déjà exécutée…
Auriez-vous une idée ? Comment vérifier le path ?
Merci d'avance pour votre support.
/homez.254/ulmaven/www
Si vous mettez /home au lieu de /homez.254, ça donne quoi ?
Bonjour,
Avez-vous lu la doc OVH => https://help.ovhcloud.com/csm/fr-web-hosting-automated-tasks-cron?id=kb_article_view&sysparm_article=KB0052534 ?
[Quote]
Vérification de l'utilisation des chemins absolus
Veillez toujours à utiliser des chemins d'accès absolus aux fichiers de vos scripts. La constante « DIR », par exemple, peut aider à recevoir le chemin courant dans les scripts PHP (documentation PHP).
[/quote]
Cordialement, janus57
[quote="RaphaelM12, post:3, topic:59575"]
/homez.254/ulmaven/www
Si vous mettez /home au lieu de /homez.254, ça donne quoi ?
[/quote]
Merci pour votre réponse le problème c'est que j'ai juste rentré www/src/Command/CheckAnnoncesCommand.php dans la création de la tache CRON.
Du coup j'ai crée un petit run_command.sh pour lancer ma commande. C'est ce script que j'ai entré dans ma tache CRON, voici les logs :
> [2023-07-13 12:48:02] ## OVH ## START - 2023-07-13 12:48:02.459444 executing: /usr/local/php8.1/bin/php /homez.254/ulmaven/run_command.sh
> [2023-07-13 12:48:02]
> [2023-07-13 12:48:02] cd www
> [2023-07-13 12:48:02]
> [2023-07-13 12:48:02] bin/console app:check:annonces
> [2023-07-13 12:48:02]
> [2023-07-13 12:48:02] ## OVH ## END - 2023-07-13 12:48:02.516789 exitcode: 0
Je n'ai pas d'erreur, lorsque je lance la commande : app:check:annonces sur mon serveur, tout fonctionne, lorsque je lance le ./run_command.sh tout fonctionne, mais lorsque c'est la tache CRON qui s'execute rien ne se passe, et je n'ai aucune erreur…
J'ai abandonné l'idée des mails app:check:annonces enregistre juste en BDD un boolean si l'annonce a plus d'un mois…
Si vous avez des idées parce que la franchement je ne sais plus quoi faire…
Merci