Jump to content

Error 500 al completar el pedido


Recommended Posts

Hola, Tengo un problema con una tienda que no logro comprender.

Muestro primero datos de la tienda:

Información del servidor Linux #1 SMP Debian 3.16.51-2 (2017-12-03) x86_64 / Versión del software del servidor: Apache

Versión PHP: 7.0.32 / Límite de memoria: 1024M / Tiempo máx. de ejecución: 24000 / Tamaño máx. para la subida de archivos: 100M

Versión de PrestaShop: 1.7.3.0 / Tema actual en uso: leo_exgym / Versión de MySQL: 10.0.36-MariaDB-0+deb8u1

El problema es que cuando un usuario realiza una compra en el paso final cuando le sale la pagina de confirmación de pedido. Ejemplo: https://tienda.com/confirmacion-pedido?id_cart=176&id_module=57&id_order=54&key=26632fea52b8371892e043c10d2c1c5c

Da un error 500. Este error es independiente del navegador (he probado con Firefox, Chrome y IE) y del medio de pago: pasa con transferencia bancaria, paypal y tarjeta.

He visto en varios foros que esto puede ser debido a q el sistema requiere internamente un campo obligatorio por ejemplo el teléfono móvil (aunque podrían ser otros como el DNI). Esto me encaja porque hace unas semanas tuve que hacer un cambio en la configuración de campos requeridos (a petición de nuestro cliente) y parece que ahí podría estar el origen del problema, ya que anteriormente la tienda estaba funcionando correctamente.

El problema es que ya he probado de todo. 

1) Asegurar que los datos requeridos en Clientes > Direcciones coinciden con los que se requieren en Internacional > Ubicaciones geograficas > España > Formato de dirección.

2) Eliminar de Clientes > Direcciones todos los campos, para que en teoría no hubiera ninguno obligatorio.

3) Toda clase de combinaciones con los campos en ambos sitios.

Y en todos los casos persiste el error.

En los logs me aparecen los siguientes errores cuando se realiza una compra:

[Sat Oct 20 11:44:06.807224 2018] [access_compat:error] [pid 23049] [client 78.30.8.103:57606] AH01797: client denied by server configuration: uri /img/s/x13.jpg.pagespeed.ic.3_Zo_Q7I2e.webp, referer: https://tienda.com/pedido
[Sat Oct 20 11:44:07.551811 2018] [proxy_fcgi:error] [pid 10822] [client 78.30.8.103:57608] AH01071: Got error 'PHP message: PHP Warning:  Declaration of BWDisplay::setTemplate($template) should be compatible with FrontControllerCore::setTemplate($template, $params = Array, $locale = NULL) in /var/www/vhosts/tienda.com/httpdocs/modules/lgtagmanager/backward_compatibility/Display.php on line 49\n', referer: https://tienda.com/themes/leo_exgym/assets/cache/A.theme-d0ff3b153.css.pagespeed.cf.97FmVocFGi.css
[Sat Oct 20 11:44:10.757896 2018] [proxy_fcgi:error] [pid 23049] [client 78.30.8.103:57611] AH01071: Got error 'PHP message: PHP Warning:  Declaration of BWDisplay::setTemplate($template) should be compatible with FrontControllerCore::setTemplate($template, $params = Array, $locale = NULL) in /var/www/vhosts/tienda.com/httpdocs/modules/lgtagmanager/backward_compatibility/Display.php on line 49\n', referer: https://tienda.com/pedido
[Sat Oct 20 11:44:11.909372 2018] [proxy_fcgi:error] [pid 23048] [client 78.30.8.103:57613] AH01071: Got error 'PHP message: PHP Warning:  Declaration of BWDisplay::setTemplate($template) should be compatible with FrontControllerCore::setTemplate($template, $params = Array, $locale = NULL) in /var/www/vhosts/tienda.com/httpdocs/modules/lgtagmanager/backward_compatibility/Display.php on line 49\n', referer: https://tienda.com/themes/leo_exgym/assets/cache/A.theme-d0ff3b153.css.pagespeed.cf.97FmVocFGi.css
[Sat Oct 20 11:45:11.929054 2018] [proxy_fcgi:error] [pid 23049] [client 78.30.8.103:57622] AH01071: Got error 'PHP message: PHP Warning:  Declaration of BWDisplay::setTemplate($template) should be compatible with FrontControllerCore::setTemplate($template, $params = Array, $locale = NULL) in /var/www/vhosts/tienda.com/httpdocs/modules/lgtagmanager/backward_compatibility/Display.php on line 49\nPHP message: PHP 

Fatal error:  Uncaught Error: Call to a member function getProducts() on null in /var/www/vhosts/tienda.com/httpdocs/modules/qashops/qashops.php:1392\nStack trace:\n#0 /var/www/vhosts/tienda.com/httpdocs /classes/Hook.php(924): Qashops->hookOrderConfirmation(Array)\n#1 /var/www/vhosts/tienda.com/httpd                         ocs/classes/Hook.php(332): HookCore::coreCallHook(Object(Qashops), 'hookorderConfir...', Array)\n#2 /var/www/vhosts/tienda.com/httpdocs/classes/Hook.php(860): HookCore::callHookOn(Object(Qashops), 'displayO derCon...', Array)\n#3 /var/www/vhosts/tienda.com/httpdocs/controllers/front/OrderConfirmationController.php(126): HookCore::exec('displayOrderCon...', Array)\n#4 /var/www/vhosts/tienda.com/httpd  ocs/controllers/front/OrderConfirmationController.php(96): OrderConfirmationControllerCore->displayOrderConfirmation(Object(Order))\n#5 /var/www/vhosts/tienda.com/httpdocs/classes/controller/Controller.php( 205): OrderConfirmationControll...\n', referer: https://tienda.com/pedido

 

De momento he dejado la siguiente configuración, a ver si alguien ve por donde pueden ir los tiros o si el error puede ir por otro lado:

Clientes > Direcciones

image.png.e660762c0ac8284295c3420f6b9f5719.png

 

Internacional > Ubicaciones geográficas > España > Formato de dirección.

image.thumb.png.a719553a1b2e600c16e7a23756ef0f6b.png

 

He probado a poner la tienda en modo depuración, el problema es que independientemente de la página en la que navegue en el momento en que la pongo en modo debug me da el siguiente warning y no me muestra ninguna otra información que me pueda dar un pista de por donde van los tiros:

WARNING MODO DEPURACION

 

ContextErrorException in Display.php line 49:

Warning: Declaration of BWDisplay::setTemplate($template) should be compatible with FrontControllerCore::setTemplate($template, $params = Array, $locale = NULL)

  1. in Display.php line 49
  2. at ErrorHandler->handleError('2', 'Declaration of BWDisplay::setTemplate($template) should be compatible with FrontControllerCore::setTemplate($template, $params = Array, $locale = NULL)', '/var/www/vhosts/deportesasturias.com/httpdocs/modules/lgtagmanager/backward_compatibility/Display.php', '49', array('this' => object(LGTagManager))) in backward.php line 39
  3. at require_once() in backward.php line 39
  4. at require('/var/www/vhosts/deportesasturias.com/httpdocs/modules/lgtagmanager/backward_compatibility/backward.php') in lgtagmanager.php line 41
  5. at LGTagManager->__construct()
  6. at ReflectionClass->newInstance() in Container.php line 127
  7. at Container->makeInstanceFromClassName('lgtagmanager', array('lgtagmanager' => true)) in Container.php line 160
  8. at Container->doMake('lgtagmanager', array('lgtagmanager' => true)) in Container.php line 173
  9. at Container->make('lgtagmanager') in ServiceLocator.php line 60
  10. at ServiceLocator::get('lgtagmanager') in Module.php line 1091
  11. at ModuleCore::coreLoadModule('lgtagmanager') in Module.php line 1071
  12. at ModuleCore::getInstanceByName('lgtagmanager') in Hook.php line 837
  13. at HookCore::exec('displayHeader') in FrontController.php line 542
  14. at FrontControllerCore->initContent() in AddressController.php line 103
  15. at AddressControllerCore->initContent() in Controller.php line 205
  16. at ControllerCore->run() in Dispatcher.php line 428
  17. at DispatcherCore->dispatch() in index.php line 28

 

Muchas gracias

 

 

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...