- Posts: 5
- Thank you received: 0
Erreur sur fichiers request et response
J'ai un problème avec le paramétrage de la Méthode de paiement SIPS ATOS sur les fichiers request et réponse.
La banque postale m'a fournit 4 fichiers dans 2 répertoires différents : Static et glibc-2.5-42. D'après ce que j'ai lu sur le forum, c'est celui du répertoire glibc-2.5-42 qu'il faut utiliser. A confirmer ...
J'ai téléchargé en FTP les deux fichiers (car impossible avec le plugin : sans doute dû au SafeMode) dans le répertoire /www/media/com_hikashop/b, j'ai ensuite modifié les droits pour les mettre en 755 puis j'ai regardé le Pathfile dans /www/media/com_hikashop
Les paramètres du Pathfile :
DEBUG!NO!
D_LOGO!/media/com_hikashop/l/!
F_DEFAULT!/home/www/media/com_hikashop/pc.x!
F_PARAM!/home/www/media/com_hikashop/pc!
F_CERTIFICATE!/home/www/media/com_hikashop/b/ct!
Impossible de paramétrer la méthode pour les deux fichiers (qui sont déjà sur le serveur).
Sur la boutique :
Warning: exec() has been disabled for security reasons in /home/www/plugins/hikashoppayment/atos/atos_end.php on line 50
erreur appel request
executable request non trouve /home/www/media/com_hikashop/b/request
Je n'ai pas trouvé malgré les posts sur le forum comment régler ce problème de fichiers Request et Response.
Si quelqu'un pouvait m'aider à configurer le module !!!
Merci par avance.
Please Log in or Create an account to join the conversation.
Vous avez trois solutions:
1. Votre hébergeur vous autorise l'utilisation de exec.
2. Vous changez d'hébergeur pour un autre autorisant cela.
3. Vous changez de méthode de paiement.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Sur votre hébergement premium vous pouvez utiliser la fonction exec() ell fonctionne parfaitement.
Il faut placer vos fichiers exécutables dans le répertoire cgi-bin à la racine de votre hébergement.
Please Log in or Create an account to join the conversation.
- Posts: 70
- Thank you received: 6
Désolé pour l'intrusion mais le sujet m'intéresse. Priorité bien sûr à l'auteur de ce post.
Ayant un client chez Infomaniak, cet hébergeur n'accepte pas la fonction exec(), et je suis tombé sur de nombreux forums conseillant de changer d'hébergeur pour cette solution de paiement.
Cela m'étonne et me gêne fortement d'autant plus que Infomaniak stipule dans sa FAQ que les solutions de paiement en ligne sont acceptées pour autant qu'on choisisse la version Perl CGI ou HTML.
De plus Infomaniak précise que : le kit de paiement d'Atos doit etre mis à jour pour fonctionner sur la dernière version de nos serveurs, tournant sous Debian Lenny et utilisant la glibc version 2.7.
Comme il existe également un répertoire cgi-bin, je suppose que les fichiers "request" et "response" devront y être placés. Infomaniak précise en plus que "la version à utiliser pour ces fichiers doit être proche de la version V600".
Quelle modifications seront à faire pour utiliser cet emplacement de fichiers différents de celui prévu et quel impact avec les versions Perl CGI ou HTML ?
De plus n'ayant pas encore paramétré de solutions de paiement, je n'ai pas de fichier pathfile dans "media/com_hikashop", c'est normal ?
Merci.
Please Log in or Create an account to join the conversation.
Dans ce cas, il faut mettre vos fichiers dans ce dossier. Nous avons justement une option "dossier des binaires" dans le plugin qui permet de spécifier le chemin absolu vers le dossier CGI ou vous placerez les fichier binaires d'ATOS.
Comme cela est plus complexe à mettre en place, nous parlons plutot de la mise en place dans le dossier par défaut dans la documentation.
@Joshua Lindus:
C'est normal. Une fois le plugin configuré, le fichier apparaitra.
Please Log in or Create an account to join the conversation.
- Posts: 70
- Thank you received: 6
Le site devant être mis en ligne avant la fin de la semaine, je reviendrai sur le sujet en temps voulu et si besoin.
A+
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
- Ou se trouve cette "option des binaires" : dans le plugin HikaShop SIPS Atos paiement plugin ?
- Si je m'en tiens à installer ces fichiers dans le fichier de la documentation media/com_hikashop/b/, comment paramétrer le plugin pour qu'il aille les chercher au bon endroit car vraisemblablement, pour le moment, il ne les trouve pas.
- LA BANQUE POSTALE m'a fait suivre un dossier complet avec des fichiers parcom, pathfile, call_request, call_autoresponse et call_response. Dois-je remplacer ce générer par le plugin par ceux fournis par LA BANQUE POSTALE ?
J'ai beaucoup de questions mais je suis un peu pommé dans tous ces méandres de paramétrages...
Merci par avance pour vos réponses.
Please Log in or Create an account to join the conversation.
Il va vous falloir adapter tous ces fichiers de configuration. Normalement il y a un documentation de mise en place fournie par la banque avec les fichiers binaires/certificats/fichiers de conf.
La configuration n'est en effet pas simple. C'est pour ça que nous avons mis en place un système automatique qui permet de configurer le plugin très simplement lorsque le serveur le permet.
Si vous avez du mal à faire la mise en place, vous pouvez contacter systrio.fr
Ils sont spécialistes dans le domaine et pourrons vous le mettre en place contre rémunération.
Please Log in or Create an account to join the conversation.
Ils m'ont fournis une documentation sur ce sujet.
On va voir.
Merci encore
Please Log in or Create an account to join the conversation.
- Posts: 70
- Thank you received: 6
Bon comme vu précédemment l'hébergeur Infomaniak (et peut-être d'autres) n'acceptant pas les fonctions PHP "à risque" comme exec() ou shell_exec(), je vais être obligé d'utiliser des fichiers PERL CGI.
J'ai récupéré un kit ATOS avec à la fois des fichiers PHP et PERL (.pl). Je suppose que je vais devoir configurer correctement et manuellement le plugin ATOS d'Hikashop, en spécifiant le chemin dans lequel je vais placer mes fichiers.
2 questions :
1) dans mon dossier /bin (dans mon kit) j'ai 3 fichiers "request" et 3 fichiers "response"
- request
- request_2.4.18_2.96
- request_2.6.9_3.4.2 (linux ?)
- response
- response_2.4.18_2.96
- response_2.6.9_3.4.2 (linux ?)
Lesquels utiliser ? Y en a t'il dédié à Perl (je suppose que oui) ?
2) comme je vais devoir utiliser des fichiers PERL "call_autoresponse.pl", "call_request.pl", et "call_response.pl", je suppose que je vais devoir mofifier quelque chose pour que ça fonctionne, mais quoi ?
Merci d'avance.
A+
Please Log in or Create an account to join the conversation.
Les fichiers à utilisr sont généralement request et response.
Please Log in or Create an account to join the conversation.
- Posts: 70
- Thank you received: 6
Dans un kit marchand standard ATOS, il existe des fichiers call_request, call_response et call_autoresponse qui contiennent les appels de fichiers binaires. Apparemment le plugin ATOS d'Hikashop n'a pas besoin de ces fichiers (ou de les créer) puisqu'il intègre dans les fichiers atos.php et ato_end.php les appels à ces binaire avec les mêmes fonctions exec($path_bin.....).
J'ai contacté mon hébergeur (Infomaniak) et je lui ai demandé comment utiliser les CGI PERL en lieu et place des fichiers PHP. Il m'a répondu cela :
"Vous devez placer vos scripts CGI tels que vos fichiers .pl dans le répertoire /web/cgi-bin , après quoi vous pouvez appeler votre script normalement via l'action d'un formulaire HTML par exemple.".
Le but étant d'appeler les exécutables via un script PERL et donc de modifier les fichiers "atos.php" et "atos_end.php" pour y inclure un script PERL sachant que l'hébergeur intègre le PERL.
En PHP j'ai vu ça mais je ne sais pas si cela fonctionne (ou si c'est encore d'actualité) :dry: :
On peut aussi appeler un script PERL avec javascript :
Quels seraient vos conseils par rapport à tout ça et comment l'intégrer à Hikashop ?
Voici ci-dessous un exemple de contenu d'un fichier PERL "call_request.pl".
En tout cas je vous remercie de votre réactivité, c'est assez rare.
A+
Please Log in or Create an account to join the conversation.
- Posts: 70
- Thank you received: 6
Bon j'ai avancé, par où je commence ?
J'ai franchi la première étape, l'appel à REQUEST pour l'affichage des moyens de paiement, le binaire était originalement appelé par la fonction exec($path_bin $parm) dans le fichier "atos_end.php".
Je rappelle que la solution de mon hébergeur, ou plutôt celui de mon client, était d'utiliser des CGI PERL à la place des appels PHP interdits comme exec().
Dans mon kit marchand j'ai conservé les binaires request et response qui étaient dans le dossier /bin/glibc-2.3.4 du kit, et je les ai uploadé via le plugin ATOS d'Hikashop dans mon dossier cgi-bin, en ayant préalablement indiqué ce dossier d'upload pour les binaires.
Le plugin a créé un dossier "b" dans "cgi-bin" et placé les binaires donc dans "/cgi-bin/b", mais aussi le certificat. Les autre fichiers "parmcomxxx" ont été mis dans "/cgi-bin".
Jusque là rien de transcendant. L'objectif suivant était de modifier l'appel à REQUEST avec autre chose qu'un exec() puisque c'est interdit.
J'ai donc :
- modifié le fichier "atos_end.php"
- créé un script PERL (call_request.pl)
Tout d'abord pour atos_end.php, j'ai supprimé les lignes depuis le exec($path_bin $parm) jusqu'à la fin et j'ai ajouté la redirection vers mon script call_request.pl simplement avec un "header(Location: http://xxxxxxxxxx)" dans lequel je passe en paramètres les variables $path_bin et $parm.
Ensuite j'ai donc créé mon script PERL "call_request.pl" que j'ai placé dans "/cgi-bin", celui-ci récupère les variables et contient exactement ce qu'il y avait après la ligne exec() dans "atos_end.php", mais en langage PERL accepté par l'hébergeur.
J'ai mis à jour les droits sur les binaires en 755 ainsi que sur mon script PERL, et j'ai adapté le pathfile, notamment pour les parmcom, comme ci-dessous:
J'ai opté pour le mode DEBUG pour vérifier le fonctionnement et cela fonctionne, au moins pour la première phase.
Voila ce que j'obtiens:
Maintenant il me faut modifier le fichier atos.php mais là c'est un peu plus dur. Pourquoi ? Et bien parce que ce fichier contient évidemment l'appel exec() pour response, mais contient plusieurs centaines de lignes qu'il faut conserver.
Donc le but est de lancer le script PERL depuis le fichier atos.php et d'y rester pour exécuter le reste des instructions.
Voilà donc où j'en suis, et bien évidemment Nicolas un coup de main sera le bienvenu si possible.
A+
Please Log in or Create an account to join the conversation.
Pour le fichier atos.php, l'appel à exec se fait vers le début de la fonction onPaymentNotification qui est appelée lors de la notification du paiement par atos.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
- Posts: 70
- Thank you received: 6
Changer d'hébergeur est une solution extrémiste et inutile, de plus en plus interdise l'utilisation des fonctions exec(), on sait ce que l'on gagne mais pas ce que l'on perd en changeant. Il y a d'autres solutions.
Quand il vous manque un outil pour bricoler, vous abandonnez ? Moi j'adapte.
A+
Please Log in or Create an account to join the conversation.
je change d'hebergeur dans un cas comme çaJoshua Lindus wrote: Bonsoir,
Changer d'hébergeur est une solution extrémiste et inutile, de plus en plus interdise l'utilisation des fonctions exec(), on sait ce que l'on gagne mais pas ce que l'on perd en changeant. Il y a d'autres solutions.
Quand il vous manque un outil pour bricoler, vous abandonnez ? Moi j'adapte.
A+
mais bien sur a chacun de voir
Please Log in or Create an account to join the conversation.
- Posts: 70
- Thank you received: 6
Comme je disais précédemment, il est inutile de précipiter les choses et de baisser les bras avant que tout ait été essayé.
Je suis tombé sur de nombreux posts sur divers forums qui parlaient de l'impossibilité d'utiliser les fonctions exec() et shell_exec() avec certains hébergeurs dont le mien INFOMANIAK NETWORK.
Encore récemment (voir post précédents) on me disait "change d'hébergeur...". Je répondais alors ce que je dis au début de ce message, et inutile finalement d'accuser les hébergeurs s'ils trouvent des solutions.
Après avoir pas mal galéré sur diverses solutions avec des CGI Perl, le temps que j'ai perdu venait surtout de ma méconnaissance du Perl. Pourtant ce langage intéressant à apporté beaucoup au PHP. Il faudra que je m'y plonge un peu plus.
GRACE à INFOMANIAK
J'avais la réponse en PHP mais je m'obstinais sur une autre solution car je n'arrivais pas à retourner une variable depuis Perl.
Donc les gars d'INFOMANIAK ont été SUPER et m'ont fourni le petit plus qui me manquait. Merci donc à eux.
Pour info, il suffit de remplacer l'instruction exec() par un appel HttpRequest vers un script CGI Perl qui renvoie un résultat. Ce qui remplace le $result=exec(....). J'avais le début de la solution mais pas la fin.
Voilà comme quoi en tenant compte des compétences des autres, on arrive à tout, ou presque.
A+
Please Log in or Create an account to join the conversation.