WEBIV Posted May 31, 2013 Share Posted May 31, 2013 (edited) Bonjour tout le monde, J'ai eu quelques soucis en installant le module atos, paiement en 1x et 3x sur mon serveur chez gandi. Le problème était que les exécutables s'exécutaient une fois puis avec le temps ne s'exécutaient plus. En fait chez Gandi on ne peut pas utiliser la fonction exec() de php n'importe où, question de sécurité. Du coup tous les fichiers sur le serveur, du moins dans le répertoire htdocs (=celui qui est sur Internet), sont repassés aux droits 0640 Deux solutions pour résoudre le problème : Pour le paiement en une fois, j'ai modifié la base de données et ai remplacé l'adresse d'exécution des binaires par celle du répertoire cgi-bin, à la racine de mon serveur. C'est la solution que je préfère, simple à mettre en place et ne risque pas de causer de soucis Table : ps_configuration Ligne du champ name : ATOS_BIN_DIR Value de cette même ligne : /srv/mon_serveur/www/www.monsite.com/cgi-bin/ Ne pas oublier le "/" final et de mettre les fichiers dans ce répertoire. Pour le paiement en trois fois, le module ne va pas rechercher les informations en base de données (allez savoir ce qui s'est passé dans la tête des développeurs !), j'ai tenté plusieurs choses et la seule qui a fonctionné a été de mettre le code suivant au début des methodes appelant la fonction "exec()", dans le fichier atos3x.php : chmod(dirname(__FILE__)."/bin/request", 755); chmod(dirname(__FILE__)."/bin/response", 755); Ce qui aura pour effet de permettre l'exécution des exécutables et ainsi de pouvoir commander ! Notez que la solution 2 peut être utilisée dans le cas 1 et non l'inverse. Un autre problème a été trouvé chez moi : INVALID SEPARATOR IN FILE AT LINE X La solution ? raccourcir le nom du fichier appelé à cette ligne et renommer le fichier de la même façon. Sinon il faudra le déplacer dans un répertoire plus proche de la racine et mettre le bon chemin de fichiers dans le fichier pathfile. En espérant que ça puisse aider une ou deux personnes ;-) Nicolas de Webiv Edited May 31, 2013 by WEBIV (see edit history) Link to comment Share on other sites More sharing options...
eKimiya Posted June 11, 2013 Share Posted June 11, 2013 Bonjour à tous, Je rebondis sur le sujet, car je viens de passer plusieurs loooongues heures à chercher une solution à ce même type de problème. Hébergement : Gandi - Simple Hosting Prestashop : v1.5.4.0 Problème très déroutant, car après la mise en place du module de paiement, tout fonctionnait bien... Deux jours après, l'erreur Atos "impossible d’exécuter le binaire" est apparue... Le problème semble donc être le même que le précédent message ! Cependant, même avec les manip expliquées ci-dessus, ça ne fonctionnait pas mieux ! La solution dans mon cas : indiquer les bin atos prévus par Gandi, et qui se trouve à cette adresse (sur un simple hosting en tout cas) : Request : /usr/local/bin/atos/request Response : /usr/local/bin/atos/response Du coup dans la BDD, il faut indiquer le chemin du dossier, CAD : /usr/local/bin/atos/ Voilà, pour moi ça marche... En espérant que cette fois ça ne plante pas dans 2 jours ! Link to comment Share on other sites More sharing options...
Yon91 Posted July 11, 2013 Share Posted July 11, 2013 Bonjour eKimiya, J'ai le même problème que toi. Je voudrais savoir plusieurs détail. Tous d'abord, je ne trouve pas le dossier /usr/local/bin/. Faut-il que je le créer? Si oui, où ? (A la racine je suppose?). Pour la création du chemin du dossier. Comment faut-il faire ? D'autre part, j'ai un message d''erreur, sur la partie configuration du module Atos, me disant que les fichier requet et reponse n'ont pas les droit d'exécution. Alors que je les ai mis en 755 (et j'ai essayé en 777). Avais-tu le même problème ? Merci d'avance pour tes réponses. Link to comment Share on other sites More sharing options...
eKimiya Posted July 11, 2013 Share Posted July 11, 2013 Hello Yon, En fait tu n'as pas besoin de trouver ce dossier (/usr/local/bin/atos/), d'ailleurs je pense que tu n'y a pas accès. C'est Gandi qui met à disposition ces fichiers, donc tu n'as même pas à uploader les fichiers, mais juste à indiquer le bon chemin dans la base de donnée. Et du coup je pense qu'une fois que tu auras indiqué le bon chemins pour les fichiers request/response, tu n'auras plus le message dans le backoffice. Link to comment Share on other sites More sharing options...
Yon91 Posted July 11, 2013 Share Posted July 11, 2013 ok et je fait comment pour indiquer à PrestaShop le chemin ? Link to comment Share on other sites More sharing options...
WEBIV Posted July 11, 2013 Author Share Posted July 11, 2013 ok et je fait comment pour indiquer à PrestaShop le chemin ? Pour le paiement en une fois, j'ai modifié la base de données et ai remplacé l'adresse d'exécution des binaires par celle du répertoire cgi-bin, à la racine de mon serveur. C'est la solution que je préfère, simple à mettre en place et ne risque pas de causer de soucis Table : ps_configuration Ligne du champ name : ATOS_BIN_DIR Value de cette même ligne : /srv/mon_serveur/www/www.monsite.com/cgi-bin/ Ne pas oublier le "/" final et de mettre les fichiers dans ce répertoire. Link to comment Share on other sites More sharing options...
Yon91 Posted July 11, 2013 Share Posted July 11, 2013 (edited) A oui, j'ai pas fait le lien désolé. bon sa fonctionne, il me reste plus qu'à faire un test. Mais en tous cas un grand merci. Cela fait plus de 2 semaines que je me bataille avec ma banque pour régler ce problème. Bonne soirée Edited July 11, 2013 by Yon91 (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts