jobbamba Posted December 20, 2020 Share Posted December 20, 2020 Bonjour, Merci du soutien je viens de faire une mise à jour de la dernière version de PrestaShop 1.7.7 et je ne peux plus accéder à la partie admin. Link to comment Share on other sites More sharing options...
Eolia Posted December 20, 2020 Share Posted December 20, 2020 Il semblerait qu'un module (LGTools ?) ne soit pas compatible avec cette dernière version^^ Link to comment Share on other sites More sharing options...
jobbamba Posted December 20, 2020 Author Share Posted December 20, 2020 @Eolia merci de répondre mais comment faire pour le désactiver si je ne peux plus accéder a la partie admin Link to comment Share on other sites More sharing options...
Eolia Posted December 20, 2020 Share Posted December 20, 2020 ftp => renommez /modules/nom_du_module_concerné en /modules/nom_du_module_concerné_ et videz les répertoires /app/cache (ou /var/cache) Link to comment Share on other sites More sharing options...
jobbamba Posted December 20, 2020 Author Share Posted December 20, 2020 Merci c'est bon j'ai accés mais j'ai un autre souci si je me connecte j'ai ce message d'erreur "Notice à la ligne 101 du fichier /home2/indica4c/public_html/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/StrictSessionHandler.php [8] SessionHandler::gc(): ps_files_cleanup_dir: opendir(/var/cpanel/php/sessions/ea-php71) failed: Permission denied (13)" et si je clique sur l'un des boutons (1/1) ContextErrorException Notice: SessionHandler::gc(): ps_files_cleanup_dir: opendir(/var/cpanel/php/sessions/ea-php71) failed: Permission denied (13) in StrictSessionHandler.php line 101 at StrictSessionHandler->gc(1440)in SessionHandlerProxy.php line 83 at SessionHandlerProxy->gc(1440) at session_start()in NativeSessionStorage.php line 149 at NativeSessionStorage->start()in NativeSessionStorage.php line 299 at NativeSessionStorage->getBag('attributes')in Session.php line 256 at Session->getBag('attributes')in Session.php line 280 at Session->getAttributeBag()in Session.php line 73 at Session->get('_security_main')in ContextListener.php line 91 at ContextListener->handle(object(GetResponseEvent))in WrappedListener.php line 46 at WrappedListener->handle(object(GetResponseEvent))in TraceableFirewallListener.php line 35 at TraceableFirewallListener->handleRequest(object(GetResponseEvent), object(Generator))in Firewall.php line 84 at Firewall->onKernelRequest(object(GetResponseEvent))in FirewallListener.php line 48 at FirewallListener->onKernelRequest(object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher))in WrappedListener.php line 115 at WrappedListener->__invoke(object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher))in EventDispatcher.php line 214 at EventDispatcher->doDispatch(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(GetResponseEvent))in EventDispatcher.php line 44 at EventDispatcher->dispatch('kernel.request', object(GetResponseEvent))in TraceableEventDispatcher.php line 143 at TraceableEventDispatcher->dispatch('kernel.request', object(GetResponseEvent))in HttpKernel.php line 127 at HttpKernel->handleRaw(object(Request), 1)in HttpKernel.php line 68 at HttpKernel->handle(object(Request), 1, false)in Kernel.php line 200 at Kernel->handle(object(Request), 1, false)in index.php line 82 Link to comment Share on other sites More sharing options...
JeromeGD Posted December 27, 2020 Share Posted December 27, 2020 (edited) Bonjour, De mon coté, j'ai également un problème avec un écran qui ressemble fort a ceux montré par jobbamba. J'étais sous Prestashop 1.7.6.8 et j'ai fais la mise à jour vers la dernière version 1.7.7.0, et du coté PHP, je suis sous 7.3. Le Problème qui se produit réapparait à chaque nouvelle commande. Lorsqu'une nouvelle commande arrive, dans le backoffice, si on veut cliquer sur la commande pour en voir le contenu, on arrive sur la page d'erreur (voir code ci-dessous). Depuis le Backoffice, si on va dans Client>Clients, puis qu'on ouvre la fiche client (du client qui a passé la commande qu'on ne peut visualiser), et qu'ensuite, on clique sur le petit crayon "Modifier" l'adresse, dans la grand espace en bas de la fiche client, on arrive sur la même page d'erreur. JE me suis donc rendu dans la table "address" vie phpmyadmin, et j'ai constaté que certains champs de l'adresse du client avec la case à cocher "Null" qui était cochée, là où le client a laissé dans champs non renseignés. Pourtant, dans le backoffice de Prestashop, ces champs ne sont pas coché obligatoires et bien marqués "optionnels" Qu'il y ait inscription d'un nouveau client, ou qu'un ancien client passe une commande provoque la même conséquence : les champs vides se retrouve cochés "Null" Et je dois, manuellement rentrer dans la base de données mysqsl, dans la table "address" sur la ligne correspondant à l'adresse du client concerné, et décocher manuellement toutes les cases de la colonne "Null" pour pouvoir retrouver un accès à la commande dans le backoffice. En résumé, j'ai l'impression que Prestashop décide lui même de rendre ces champs obligatoires sans obliger le client à les remplir, ce qui provoque des valeurs interdites dans les champs laissés vides. Et je n'ai aucune idée de comment résoudre ce problème en dehors d'aller faire les modifications manuellement dans la base de donnée. Ce qui est tout simplement invivable. Donc, si quelqu'un avait une bonne idée à me suggérer, ça serait super! Voici le code d'erreur de la page en mode Debug - j'ai anonymisé certaines données qui sont liées aux données structurelles personnalisées du site (comme le nom des répertoire que j'ai remplacé par XXX) et les données du client que j'ai remplacé par les intitulés des champs (par exemple, s'il y avait "Lucien", j'ai écris "Prénom") Type error: Argument 4 passed to PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderShippingAddressForViewing::__construct() must be of the type string, null given, called in /homepages/46/XXXXXXXX/htdocs/XXXXXXXXXXXXX/src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.php on line 269 Exception Logs 2 Stack Trace Symfony\Component\Debug\Exception\ FatalThrowableError in src/Core/Domain/Order/QueryResult/OrderShippingAddressForViewing.php (line 90) /** * @var string */ private $mobilePhoneNumber; public function __construct( int $addressId, string $firstName, string $lastName, string $companyName, string $address1, OrderShippingAddressForViewing->__construct(161, 'Prénom', 'Nom', null, 'adresse1', '0', '', 'ville', 'France', 'codepostal', 'telephone', null) in src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.php (line 269) $stateName, $address->city, $country->name[$order->id_lang], $address->postcode, $address->phone, $address->phone_mobile ); } /** * @param Order $order GetOrderForViewingHandler->getOrderShippingAddress(object(Order)) in src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.php (line 186) $order->hasBeenDelivered(), $order->hasBeenShipped(), $invoiceManagementIsEnabled, new DateTimeImmutable($order->date_add), $this->getOrderCustomer($order), $this->getOrderShippingAddress($order), $this->getOrderInvoiceAddress($order), $this->getOrderProducts($query->getOrderId()), $this->getOrderHistory($order), $this->getOrderDocuments($order), $this->getOrderShipping($order), GetOrderForViewingHandler->handle(object(GetOrderForViewing)) in vendor/league/tactician/src/Handler/CommandHandlerMiddleware.php (line 71) $command, "Method '{$methodName}' does not exist on handler" ); } return $handler->{$methodName}($command); } } CommandHandlerMiddleware->execute(object(GetOrderForViewing), object(Closure)) in vendor/league/tactician/src/CommandBus.php (line 62) if (! $middleware instanceof Middleware) { throw InvalidMiddlewareException::forMiddleware($middleware); } $lastCallable = function ($command) use ($middleware, $lastCallable) { return $middleware->execute($command, $lastCallable); }; } return $lastCallable; } CommandBus->League\Tactician\{closure}(object(GetOrderForViewing)) in src/Core/CommandBus/Middleware/CommandRegisterMiddleware.php (line 79) $commandName = $this->commandNameExtractor->extract($command); $handler = $this->handlerLocator->getHandlerForCommand($commandName); $this->executedCommandRegistry->register($command, $handler); return $next($command); } } CommandRegisterMiddleware->execute(object(GetOrderForViewing), object(Closure)) in vendor/league/tactician/src/CommandBus.php (line 62) if (! $middleware instanceof Middleware) { throw InvalidMiddlewareException::forMiddleware($middleware); } $lastCallable = function ($command) use ($middleware, $lastCallable) { return $middleware->execute($command, $lastCallable); }; } return $lastCallable; } CommandBus->League\Tactician\{closure}(object(GetOrderForViewing)) in vendor/league/tactician/src/CommandBus.php (line 42) if (!is_object($command)) { throw InvalidCommandException::forUnknownValue($command); } $middlewareChain = $this->middlewareChain; return $middlewareChain($command); } /** * @param Middleware[] $middlewareList * CommandBus->handle(object(GetOrderForViewing)) in src/Core/CommandBus/TacticianCommandBusAdapter.php (line 54) /** * {@inheritdoc} */ public function handle($command) { return $this->bus->handle($command); } } TacticianCommandBusAdapter->handle(object(GetOrderForViewing)) in src/PrestaShopBundle/Controller/Admin/Sell/Order/OrderController.php (line 401) */ public function viewAction(int $orderId, Request $request): Response { try { /** @var OrderForViewing $orderForViewing */ $orderForViewing = $this->getQueryBus()->handle(new GetOrderForViewing($orderId)); } catch (OrderException $e) { $this->addFlash('error', $this->getErrorMessageForException($e, $this->getErrorMessages($e))); return $this->redirectToRoute('admin_orders_index'); } OrderController->viewAction(4969, object(Request)) in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 151) $this->dispatcher->dispatch(KernelEvents::CONTROLLER_ARGUMENTS, $event); $controller = $event->getController(); $arguments = $event->getArguments(); // call controller $response = \call_user_func_array($controller, $arguments); // view if (!$response instanceof Response) { $event = new GetResponseForControllerResultEvent($this, $request, $type, $response); $this->dispatcher->dispatch(KernelEvents::VIEW, $event); HttpKernel->handleRaw(object(Request), 1) in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 68) public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) { $request->headers->set('X-Php-Ob-Level', (string) ob_get_level()); try { return $this->handleRaw($request, $type); } catch (\Exception $e) { if ($e instanceof RequestExceptionInterface) { $e = new BadRequestHttpException($e->getMessage(), $e); } if (false === $catch) { HttpKernel->handle(object(Request), 1, false) in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php (line 200) $this->boot(); ++$this->requestStackSize; $this->resetServices = true; try { return $this->getHttpKernel()->handle($request, $type, $catch); } finally { --$this->requestStackSize; } } Kernel->handle(object(Request), 1, false) in admin006z8kx1f/index.php (line 82) $request = Request::createFromGlobals(); Request::setTrustedProxies([], Request::HEADER_X_FORWARDED_ALL); try { require_once __DIR__.'/../autoload.php'; $response = $kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, false); $response->send(); $kernel->terminate($request, $response); } catch (NotFoundHttpException $exception) { define('ADMIN_LEGACY_CONTEXT', true); // correct Apache charset (except if it's too late) Edited December 27, 2020 by JeromeGD Ajout de précisions (see edit history) Link to comment Share on other sites More sharing options...
Alexandre Carette Posted January 1, 2021 Share Posted January 1, 2021 Salut, tu peux essayer de mettre une version de php compatible avec ta version de prestashop, cdt Link to comment Share on other sites More sharing options...
JeromeGD Posted January 1, 2021 Share Posted January 1, 2021 Bonjour et merci pour les commentaires d'aide, mais le problème semble être résolu. Et je pense qu'il devait s'agir d'un problème dans la version non mise à jour des modules natifs, parce que lorsque j'ai rédigé mon post, j'étais à jour de tous les modules, et il y avait les problèmes dont je vous ai parlé, et depuis, Prestashop à relâché une mise à jour de 11 modules (rien que ça!) et a priori, le problème est résolu. Le propriétaire du site m'a dit avoir pu utiliser tout ce qui ne fonctionnait plus. J'espère que pour ceux qui ont des problèmes, ils vont se résoudre de la même façon. encore une démonstration de l'importance des mises à jours des modules, aussi bien pour le coté fonctionnel du site que pour sa sécurité. J'en profite pour parler d'un module de Sécurité pour Prestashop qui est tout simplement incroyable : SecurityPro (disponible dans sur le site prestashop.addons.com. A l'heure actuelle, c'est tout simplement le meilleur outil de protection disponible, le plus complet (et très très loin d'être le plus cher!), et ceux qui ne sont pas des développeurs aguerris, capables de mettre en place toutes les sécurités nécessaire sur un Prestashop, vont y trouver une foule d'outils qui feront leur bonheur : des outils de protection, de sauvegarde des fichiers du site et des base de donnée avec possibilité de les faire en local (répertoire du site), sur votre Dropbox (et une version avec le stockage sur GoogleDrive est en cours de réalisation), mais si j'en parle ici, c'est parce qu'il comporte des outils d'analyse du script, et du serveur pour déterminer les critères php à activer ou à désactiver, ou encore à régler et qui peuvent permettre de résoudre beaucoup de problèmes fonctionnels et c'est en ca que ce paragraphe a sa place ici : pour ceux que ca intéresseraient, voici un lien vers la fiche produit sur Prestashop addons : https://addons.prestashop.com/fr/securite-access/44413-security-pro-all-in-one.html). Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now