THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour
Ma problématique : l'hébergeur (planet-work) ne supportent plus les versions php 5.4 et 5.6 (Nous ne sommes donc plus en mesure de vous garantir le bon fonctionnement des sites tournant sous ces versions. Nous prévoyons d'ailleurs de les retirer graduellement.), il faut maintenant utiliser php 7.0 ou mieux php 7.3
La boutique en ligne V.2.1.5 était avec une version php 5.4 (avec quelques bugs), je l'ai passé en php 5.6 --> elle fonctionne bien mais j'aimerai quand même passer en php 7.0 ou 7.3 et je n'y arrive pas...

- au départ la boutique était en version V.1xxx, il y a quelques années je l'ai passée en V.2.1.5 avec quelques difficultés, est ce que le problème pour passer en 2.4 viendrait de là ?

- ne voulant pas travailler sur la boutique en ligne, j'ai crée deux nouveaux répertoires (un sous www, un en dehors de www), copié dans chacun la boutique et transféré via FTP la version 2.4 dans chacun aussi --> résultat : page blanche pour les deux.
Question : peut on transférer via FTP les fichiers de thélia V.2.4 puis lancer l'install comme expliqué là : https://doc.thelia.net/en/documentation … index.html ou faut il utiliser obligatoirement Composer ?

- j'ai aussi transféré via FTP la V.2.4 toute seule dans un dossier sous www, résultat --> page blanche aussi

Après beaucoup de lecture du forum, je ne pense rien avoir oublié :
- les répertoires cache, log, local/session, local/media, web sont en 755 (j'ai essayé 777 aussi)
- modification de local/config/database.yml
- modification de web/.htaccess --> RewriteBase -- > des soucis quand je rajoute RewriteBase (exemple RewriteBase /boutique2015 pour une boutique dans www/boutique2015), index et pages produits s'affichent normalement, register arrive sur un page not found (la page s'affiche si je rajoute index.php entre web et register) et le lien ajouter au panier ne fonctionne pas
- vidage du répertoire cache à chaque modification

Sur les 3 boutiques, impossible de lancer index_dev.html (Forbidden malgré l'insertion de mon adresse IP)

J'ai aussi regardé la configuration PHP du serveur --> tout semble ok sauf memory_limit qui a Local Value à 96M (j'ai essayé de le modifié avec un htaccess à la racine de www mais sans succès) --> le problème peut il venir de là ?

Peut être qu'en solutionnant mon problème de RewriteBase, cela me permettrait peut être d'installer la version V.2.4 ?

Beaucoup de questions mais là je suis au bout de mes tentatives donc un grand merci d'avance pour votre aide...

Offline


impossible de lancer index_dev.html

index_dev.php, plutôt.

Si tu as placé ton IP V4 et que tu vois toujours un Forbidden, c'est dans doute que tu es en IP V6. Mets ton IP V6, ou alors modifie index_dev.php comme suit, ligne 33 remplacer :

if (false === in_array($request->getClientIp(), $trustedIp)) {

par

if (0 && false === in_array($request->getClientIp(), $trustedIp)) {

Tu pourras ainsi voir les erreurs qui causent la fameuse "page blanche". Remet bien le code original de index_dev.php une fois que tout sera opérationnel.


OpenStudio Toulouse

Offline


Bonjour et merci Roadster31 de te pencher sur mon problème.

Après modification d'index_dev.php comme indiqué :
- sur la boutique en V.2.1.5 --> index_dev.php s'affiche visuellement comme la page index.php  sans indication d'erreur
- sur la boutique en V2.1.5 + téléchargement des fichiers thelia V2.4 --> index_dev.php affiche une erreur --> ClassNotFoundException in PropelInitService.php line 409:  Attempted to load class "Factory" from namespace "Symfony\Component\Lock".
Did you forget a "use" statement for "Faker\Factory"?

J'ai cherché sur le forum mais je n'ai rien trouvé d'approchant comme erreur... j'avoue que je ne sais pas trop quoi chercher... traduction Google... Avez-vous oublié une instruction "use" pour "Faker \ Factory"? je suis largement dépassée wink

Merci

Offline


Tu l'as téléchargée ou exactement cette version 2.4 ? Si c'est sur github, il va te falloir faire un "composer install" sur la console, à la racine de ton thelia. Si tu n'a pas composer => https://getcomposer.org/download

Sinon, tu peux aussi télécharger une distribution toute prête (sans que composer soit nécessaire) ici : https://thelia.net/download/thelia_2.4.0.zip


OpenStudio Toulouse

Offline


Bonsoir roadster31

Effectivement j'ai téléchargé la version 2.4 sur github car tous les liens que j'ai trouvé sur https://doc.thelia.net/en/documentation … index.html --> http://thelia.net/#download renvoient sur le site https://thelia.net/ mais #download... je n'ai pas trouvé donc merci pour le lien que tu as mis vers la version complète.

J'ai donc installé cette version de thelia :
- toute seule --> à l'onglet contrôle des permissions --> tout est vert sauf --> The PHP "memory_limit" configuration value (currently 96M) is below minimal requirements to run Thelia2 (128M required). Change this value in the php.ini configuration file. J'ai essayé quelques infos trouvés ici comme --> Vous pouvez tenter de forcer la mémoire disponible directement dans le fichier index.php et index_dev.php du répertoire web. Il faut ajouter la ligne suivante après l'ouverture de la balise <?php
ini_set("memory_limit","128M"); --> sans résultats --> donc je suis bloquée à cette étape

- sur le thelia V2.1.5 --> install/updater.php --> le processus de mise à jour bloque là -->
[debug] inserting file 2.2.1.sql
[error] error during update process with message : Failed to execute SQL ' ALTER TABLE `product_sale_elements_product_image` DROP FOREIGN KEY `fk_pse_product_image_product_sale_elements_id`', arguments:Array ( ) , error:Array ( [0] => 42000 [1] => 1091 [2] => Can't DROP 'fk_pse_product_image_product_sale_elements_id'; check that column/key exists )

Effectivement, dans la base de données, il n'y a pas de table "product_sale_elements_product_image"... je ne sais pourquoi il n'y a pas cette table là...

Ma question : est ce que l'erreur de la tentative d'installation 2 sur un thelia existant découle du manque de memory_limit ?

Sinon, le plus simple est il de changer d'hébergeur ou de version d'hébergement ? je veux bien mais à condition que je puisse après mettre à jour la version de thelia...

Merci

Offline


Bonjour

Un ami qui a un serveur et les contraintes PHP ok, à réussi à faire la mise à jour chez lui : j'ai écrasé les fichiers depuis la console ssh et non par ftp, p-e que ca ne donne pas les mêmes droits aux fichiers et dossiers ?

Par FTP, il est arrivé à installer la version 2.4 chez lui mais il n'est pas arrivé à faire la mise à jour de 2.1 vers 2.4 (blocage du processus de mise à jour avec de nombreuses erreurs)

Merci encore et peut être à bientôt wink

Offline


Un ami qui a un serveur et les contraintes PHP ok, à réussi à faire la mise à jour chez lui : j'ai écrasé les fichiers depuis la console ssh et non par ftp, p-e que ca ne donne pas les mêmes droits aux fichiers et dossiers ?

Ça dépend de la configuration de l'hébergement.


OpenStudio Toulouse

Offline


Bonjour et quelques heures de travail plus tard...

Version V2.1.5 + mise à jour avec la version V.2.4.0 donné par  roadster31 (https://thelia.net/download/thelia_2.4.0.zip)

Chez mon ami et chez Planet Work (avec Memory_limit à 128M), la boutique est fonctionnelle sauf le module Paypal :

- Dans l'admin, si j'active "Activate sandbox mode", j'ai ce message d'erreur --> UndefinedMethodException in ConfigurePaypal.php line 75: Attempted to call an undefined method named "redirectToRoute" of class "Paypal\Controller\ConfigurePaypal".
Si je recule d'une page (avec le navigateur) --> la case est cochée

- Dans la boutique, si je passe commande et que je choisis Paypal (avec la case --> Activate sandbox mode cochée ou non cochée dans l'admin)

Adresse web --> index_dev.php/module/paypal/goto/7470 --> message d'erreur -->
ContextErrorException in Order.php line 163: Notice: Undefined offset: 7469
    in Order.php line 163
    at ErrorHandler->handleError('8', 'Undefined offset: 7469', '/home/cafechaulet/www/thelia2/core/lib/Thelia/Model/Order.php', '163', array('tax' => null, 'includePostage' => false, 'includeDiscount' => true, 'queryResult' => array(), 'id' => '7469', 'this' => object(Order))) in Order.php line 163
    at Order->getTotalAmount(null, false) in GotoPaypal.php line 205
    at GotoPaypal->go('7469')
    at call_user_func_array(array(object(GotoPaypal), 'go'), array('7469')) in HttpKernel.php line 135
    at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 57
    at HttpKernel->handle(object(Request), '1', true) in TheliaHttpKernel.php line 76
    at TheliaHttpKernel->handle(object(Request), '1', true) in ParamInitMiddleware.php line 87
    at ParamInitMiddleware->handle(object(Request), '1', true) in SessionMiddleware.php line 80
    at SessionMiddleware->handle(object(Request), '1', true) in StackedHttpKernel.php line 23
    at StackedHttpKernel->handle(object(Request), '1', true) in Kernel.php line 183
    at Kernel->handle(object(Request)) in index_dev.php line 44

Version paypal : 2.0

J'ai tenté une mise à jour via l'admin des modules vers une version 2.1.3 trouvée dans un post du forum (https://forum.thelia.net/viewtopic.php?pid=74358#p74358)  --> une bonne cinquantaine d'erreurs...

Merci

Offline


Il faut installer le module PayPal avec composer. Cf. le warning ici : https://github.com/thelia-modules/Paypal


OpenStudio Toulouse

Offline


Merci encore une fois Roadster, je vais tenter la solution sans composer : "Si vous n'avez pas accès à la console, veuillez obtenir la dernière version 2.x du module ici" ... en espérant que ça marche... composer c'est un peu du chinois pour moi, mais si je n'ai pas le choix, il faudra bien que je m'y mette wink

Résultat de l'install sans composer --> plus d'erreur dans la partie admin de thelia mais erreur sur le site  avec sandbox activée --> j'arrive à commander un produit, passer les étapes jusqu'au paiement paypal --> ça coince à l'étape 4 --> message d'erreur -->  un problème est survenu lors du paiement --> ERROR: 2020-06-19 22:39:47: Error occured while processing express checkout : Notice: Undefined offset: 7481

Log des échanges avec la plate-forme Paypal  :
INFO: 2020-06-19 22:39:47: 2020-06-19 20:39:47 Transaction Success correlationId: 82c0819db02e9
ERROR: 2020-06-19 22:39:47: Error occured while processing express checkout : Notice: Undefined offset: 7481

Last edited by cilou (20-06-2020 16:41:28)

Offline


Bonjour

Suite à des tests encore... avec paypal solution sans composer, ce matin tout fonctionne...

Après suppression via ftp du dossier cache et suppression des cookies du navigateur à chaque essai :

--> avec index_dev.php
étape 4 : Nous sommes désolés, un problème est survenu lors du paiement. Erreur inattendue: Notice: Undefined offset: 7489

dans admin commande : réf.7489
Statut de la commande : non payée
Référence de la transaction --> Pas de transaction pour cette commande

dans admin paypal
INFO: 2020-06-21 16:06:17: 2020-06-21 14:06:17 Transaction Success correlationId: 70e64506f0e7b
INFO: 2020-06-21 16:07:16: 2020-06-21 14:07:15 Transaction Success correlationId: 9a60c7ebffd59
ERROR: 2020-06-21 16:07:16: Error occured while processing express checkout : Notice: Undefined offset: 7489

--> avec index.php
etape 4 : Merci pour votre confiance. Un récapitulatif de commande vous a été envoyé par e-mail à l'adresse suivante : ctonnelle@gmail.com
Votre commande sera confirmée à réception de votre paiement.

dans admin commande : réf.7490
Statut de la commande : payée
Référence de la transaction     5f88e06b9fc59

dans admin paypal
INFO: 2020-06-21 16:36:14: 2020-06-21 14:36:14 Transaction Success correlationId: 57d13f54be84e
INFO: 2020-06-21 16:37:22: 2020-06-21 14:37:21 Transaction Success correlationId: dac2901229bb
INFO: 2020-06-21 16:37:26: 2020-06-21 14:37:26 Transaction Success correlationId: 5f88e06b9fc59

Conclusion : pour tester paypal sandbox ne pas utiliser index_dev.php

Une suggestion : une page thelia pour les nuls expliquant toutes les étapes serait la bienvenue wink et encore un grand merci à Roadster !

Offline

Offline


Oui Roadster, j'ai vidé les caches à chaque étape de mes tests... le dossier cache et le cache du navigateur, si il en a d'autres à vider, il faudrait savoir lesquels...

Offline


Bonjour,
J'ai eu moi aussi des soucis avec la 2.4.0
Cela fonctionnait de temps en temps en passant par index_dev. En effet j'avais parfois un message d'erreur et si je rechargeai la page ca fonctionnait.

Bref j'ai copié la version 2.4.3 et je n'ai à priori plus aucun souci en mode "normal"