Jump to content

Erreur avec HTTPS sur le fichier init.php


Recommended Posts

Bonjour,

 

Au passage HTTPS d'un site PrestaShop, nous rencontrons une erreur sur un module exécuté via une tâche CRON.

 

Après quelques recherches, nous avons remarqué que c'est la ligne "include ../../init.php" qui génère une erreur.

include(dirname(__FILE__).'/../../config/config.inc.php');include(dirname(__FILE__).'/../../init.php');

Avez vous déjà rencontré ce type d'erreur ? 

 

Merci pour votre retour.

Link to comment
Share on other sites

Salut,

 

On peut voir le cron du script ? Parce que cette syntaxe marche correctement de mon côté. C'est peut-être le cron qui doit être modifié. :)

 

Bon courage

 

Salut Matt,

 

Merci pour ta réponse.

 

Le cron marche correctement en HTTP.

 

La commande est la suivante : 

0 0 * * * /usr/bin/php /home/..../script.php > /home/..../script.log

Voici le code du fichier script.php exécuté par le CRON.

<?php

include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');
include(dirname(__FILE__).'/files.php');

ini_set('memory_limit', '1024M');

$be = new MaClass();

$be->CallFunction();

Merci

Link to comment
Share on other sites

Ok merci, ça me semble pas anormal. 

 

J'aurai dû commencer par te demander : quelle est l'erreur que tu rencontres ? 

 

Le script arrête de s’exécuter.

 

 Concernant l'erreur, nous sommes en phase de développement pour migrer le site sur HTTPS à nouveau. C'est à ce moment que je pourrais à nouveau reproduire l'erreur...

 

Merci à toi.

Link to comment
Share on other sites

Ok merci, ça me semble pas anormal. 

 

J'aurai dû commencer par te demander : quelle est l'erreur que tu rencontres ? 

 

Salut Matt,

 

Je me permets de revenir vers toi concernant ce soucis.

 

Voici les erreurs après l’exécution du cron lorsque PrestaShop :

 

  • a seulement le SSL d'activé
PHP Notice:  Undefined index: REQUEST_METHOD in /...../classes/controller/FrontController.php on line 788
  • a seulement le SSL d'activé
  • le SSL actif sur tout le site
PHP Notice:  Undefined index: REQUEST_METHOD in /...../classes/controller/FrontController.php on line 788
PHP Warning:  Cannot modify header information - headers already sent by (output started at /...../modules/mon_module/script.php:4) in /...../classes/controller/FrontController.php on line 790
PHP Warning:  Cannot modify header information - headers already sent by (output started at /...../modules/mon_module/script.php:4) in /...../classes/controller/FrontController.php on line 791
PHP Warning:  Cannot modify header information - headers already sent by (output started at /...../modules/mon_module/script.php:4) in /...../classes/controller/FrontController.php on line 793

Lorsque les options de SSL sont désactivés sur PrestaShop, aucune erreur présente.

 

Merci à toi.

Link to comment
Share on other sites

Ok je vois. 

 

Quelque chose comme ça devrait fonctionner 

30 * * * * wget -q -O /dev/null  https://.../ton_module/scripts/script.php  >/dev/null 2>&1

Le problème est que le FrontController à besoin d'être appelé en https pour fonctionner (sinon il cherche à te rediriger)

 

Je te conseille aussi d'ajouter un jeton de sécurité en paramètre. ;)

 

Bonne journée. 

Edited by Matt K. (see edit history)
  • Like 1
Link to comment
Share on other sites

Il y a peut-être une meilleure manière de faire. Si quelqu'un sait comment faire, je l'invite à poster ici. ^^ 

 

Par contre, si tu as pas besoin du FrontController dans ton script, tu retire la ligne et ton cron devrait fonctionner comme avant. 

 

Avec plaisir ! :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...