doodlescreative Posted May 18, 2023 Share Posted May 18, 2023 Buenos días, alguien sabe como solucionar el error 500 cuando accedo a preferencias en Transporte. Tengo prestashop 8.0.4 instalado. También tengo otro problema y es que en módulos no aparece la opción de catalogo de modulos. Gracias de antemano Link to comment Share on other sites More sharing options...
juanrojas Posted May 18, 2023 Share Posted May 18, 2023 hola, activa el modo depuracion para ver que hay traas el error 500 Link to comment Share on other sites More sharing options...
Nickz Posted May 18, 2023 Share Posted May 18, 2023 2 hours ago, doodlescreative said: Tengo prestashop 8.0.4 instalado. desde 0 o como actualización de una tienda que tenias antes? Link to comment Share on other sites More sharing options...
doodlescreative Posted May 18, 2023 Author Share Posted May 18, 2023 Es nueva, esto es lo que sale en depuracion Symfony\Component\ErrorHandler\Error\ ClassNotFoundError in override/classes/Carrier.php (line 51) * version: 2.0.5 */ public static function getCarriers($id_lang, $active = false, $delete = false, $id_zone = false, $ids_group = null, $modules_filters = self::PS_CARRIERS_ONLY, $cart_par = null) { $ratesHelper = new RatesHelper(); $dataHelper = new DataHelper(); if ($ids_group && (!is_array($ids_group) || !count($ids_group))) { return array(); } $sql = ' Carrier::getCarriers() in src/Adapter/Carrier/CarrierDataProvider.php (line 66) * * @return array Carriers */ public function getCarriers($id_lang, $active = false, $delete = false, $id_zone = false, $ids_group = null, $modules_filters = Carrier::PS_CARRIERS_ONLY) { return Carrier::getCarriers($id_lang, $active, $delete, $id_zone, $ids_group, $modules_filters); } /** * Get all active carriers in given language, usable for choice form type. * CarrierDataProvider->getCarriers() in src/Core/Form/ChoiceProvider/CarrierByReferenceChoiceProvider.php (line 65) */ public function getChoices() { $choices = []; $carriers = $this->carrierDataProvider->getCarriers( $this->langId, false, false, false, null, in var/cache/dev/ContainerW7idPyE/getForm_Type_Payment_ModuleCurrencyRestrictionService.php -> getChoices (line 9) use Symfony\Component\DependencyInjection\Exception\RuntimeException; // This file has been auto-generated by the Symfony Dependency Injection Component for internal use. // Returns the public 'form.type.payment.module_currency_restriction' shared service. return $this->services['form.type.payment.module_currency_restriction'] = new \PrestaShopBundle\Form\Admin\Improve\Payment\Preferences\PaymentModulePreferencesType(($this->services['translator'] ?? $this->getTranslatorService()), ($this->services['prestashop.adapter.legacy.context'] ?? $this->getPrestashop_Adapter_Legacy_ContextService())->getLanguages(), ($this->services['prestashop.adapter.module.payment_module_provider'] ?? $this->load('getPrestashop_Adapter_Module_PaymentModuleProviderService.php'))->getPaymentModuleList(), ($this->services['prestashop.core.form.choice_provider.country_by_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_CountryByIdService.php'))->getChoices(), ($this->services['prestashop.core.form.choice_provider.group_by_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_GroupByIdService.php'))->getChoices(), ($this->services['prestashop.core.form.choice_provider.carrier_by_reference_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_CarrierByReferenceIdService.php'))->getChoices(), ($this->services['prestashop.core.form.choice_provider.currency_by_id'] ?? $this->load('getPrestashop_Core_Form_ChoiceProvider_CurrencyByIdService.php'))->getChoices(), ($this->services['prestashop.adapter.data_provider.country'] ?? ($this->services['prestashop.adapter.data_provider.country'] = new \PrestaShop\PrestaShop\Adapter\Country\CountryDataProvider()))); in var/cache/dev/ContainerW7idPyE/appAppKernelDevDebugContainer.php require (line 2170) return require $this->containerDir.\DIRECTORY_SEPARATOR.'removed-ids.php'; } protected function load($file, $lazyLoad = true) { return require $this->containerDir.\DIRECTORY_SEPARATOR.$file; } protected function createProxy($class, \Closure $factory) { class_exists($class, false) || $this->load("{$class}.php"); in vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php -> load (line 448) } if (null === $method) { return false !== $registry ? $this->{$registry}[$id] ?? null : null; } if (false !== $registry) { return $this->{$registry}[$id] ?? $this->{$registry}[$id] = $load ? $this->load($method) : $this->{$method}(); } if (!$load) { return $this->{$method}(); } in vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Argument/ServiceLocator.php -> getService (line 42) * * @return mixed */ public function get($id) { return isset($this->serviceMap[$id]) ? ($this->factory)(...$this->serviceMap[$id]) : parent::get($id); } /** * {@inheritdoc} */ in vendor/symfony/symfony/src/Symfony/Component/Form/Extension/DependencyInjection/DependencyInjectionExtension.php -> get (line 43) { if (!$this->typeContainer->has($name)) { throw new InvalidArgumentException(sprintf('The field type "%s" is not registered in the service container.', $name)); } return $this->typeContainer->get($name); } public function hasType($name) { return $this->typeContainer->has($name); in vendor/symfony/symfony/src/Symfony/Component/Form/FormRegistry.php -> getType (line 75) if (!isset($this->types[$name])) { $type = null; foreach ($this->extensions as $extension) { if ($extension->hasType($name)) { $type = $extension->getType($name); break; } } if (!$type) { in vendor/symfony/symfony/src/Symfony/Component/Form/FormFactory.php -> getType (line 76) if (!\is_string($type)) { throw new UnexpectedTypeException($type, 'string'); } $type = $this->registry->getType($type); $builder = $type->createBuilder($this, (string) $name, $options); // Explicitly call buildForm() in order to be able to override either // createBuilder() or buildForm() in the resolved form type FormFactory->createNamedBuilder() in src/Core/Form/Handler.php (line 103) * * @throws Exception */ public function getForm() { $formBuilder = $this->formFactory->createNamedBuilder($this->formName, $this->form); $formBuilder->setData($this->formDataProvider->getData()); $this->hookDispatcher->dispatchWithParameters( "action{$this->hookName}Form", Handler->getForm() in src/PrestaShopBundle/Controller/Admin/Improve/Payment/PaymentPreferencesController.php (line 67) $paymentPreferencesForm = null; $paymentModulesCount = 0; if ($isSingleShopContext) { $paymentModulesCount = count($paymentModulesListProvider->getPaymentModuleList()); $paymentPreferencesForm = $this->getPaymentPreferencesFormHandler()->getForm()->createView(); } return $this->render('@PrestaShop/Admin/Improve/Payment/Preferences/payment_preferences.html.twig', [ 'enableSidebar' => true, 'help_link' => $this->generateSidebarLink($legacyController), in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php -> indexAction (line 169) $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS); $controller = $event->getController(); $arguments = $event->getArguments(); // call controller $response = $controller(...$arguments); // view if (!$response instanceof Response) { $event = new ViewEvent($this, $request, $type, $response); $this->dispatcher->dispatch($event, KernelEvents::VIEW); in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php -> handleRaw (line 81) { $request->headers->set('X-Php-Ob-Level', (string) ob_get_level()); $this->requestStack->push($request); try { return $this->handleRaw($request, $type); } catch (\Exception $e) { if ($e instanceof RequestExceptionInterface) { $e = new BadRequestHttpException($e->getMessage(), $e); } if (false === $catch) { in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php -> handle (line 201) $this->boot(); ++$this->requestStackSize; $this->resetServices = true; try { return $this->getHttpKernel()->handle($request, $type, $catch); } finally { --$this->requestStackSize; } } Kernel->handle() in admin813ifk5z9ktw4pv5cbh/index.php (line 81) $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) Link to comment Share on other sites More sharing options...
Nickz Posted May 18, 2023 Share Posted May 18, 2023 Ok que servidor estas usando? Simphony está instalado? Link to comment Share on other sites More sharing options...
doodlescreative Posted May 18, 2023 Author Share Posted May 18, 2023 esta alojada en ionos con php 8.1 Link to comment Share on other sites More sharing options...
juanrojas Posted May 18, 2023 Share Posted May 18, 2023 el peor servidor que conozco, instala el sitio en local para descartar. Link to comment Share on other sites More sharing options...
Nickz Posted May 18, 2023 Share Posted May 18, 2023 3 minutes ago, doodlescreative said: esta alojada en ionos con php 8.1 Ok que dice el staff del servidor? Link to comment Share on other sites More sharing options...
doodlescreative Posted May 18, 2023 Author Share Posted May 18, 2023 no he hablado con ellos porque no es una tienda creada por ionos, sino montada por mi en el servidor. Link to comment Share on other sites More sharing options...
Nickz Posted May 18, 2023 Share Posted May 18, 2023 4 minutes ago, doodlescreative said: no he hablado con ellos porque no es una tienda creada por ionos, sino montada por mi en el servidor. si pero los requisitos debe cumplir el servidor, la instalacion la hiciste sobre softacolous correcto? Link to comment Share on other sites More sharing options...
doodlescreative Posted May 18, 2023 Author Share Posted May 18, 2023 No, lo hice subiendo directamente prestashop, pero estoy viendo que me están surgiendo varios problemas raros, instale la versión 8.1 y luego actualice a 8.4. Estoy por volver a montar una instalación nueva con la ultima versión de prestashop (por cierto que no se que versión de php es la mas adecuada, si funciona todo con la 8.2) pero ahora que me he currado todos los productos y teniendo en cuenta que si hago una exportación de productos no se guardan todas las opciones, no se que hacer. Link to comment Share on other sites More sharing options...
juanrojas Posted May 18, 2023 Share Posted May 18, 2023 mi recomendacion seria trabaja con la ultima de 1.7 yo esperaria mucho mas para trabajar en 8, y si tu servidor te pone problemas por la version de php huye de alli 1 Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted May 18, 2023 Share Posted May 18, 2023 La clase Carrier tiene un override que no es compatible con tu version actual de PS. Podrías desactivar el modulo que hace el override (con eso se eliminaría el override correspondiente) o eliminar el código manualmente. La forma mas rápida de probarlo sin tener que tocar código es desactivando los Overrides en las opciones de Rendimiento de la tienda. 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