hace dias actualicé el prestashop a 1.7.7 desde 1.7.4 y todo correcto hasta que al entrar en el backoficce y clikar en un pedido me da error500 y no puedo acceder y tambien si quiero hacer el sitemap de nuevo me da error 500, pongo modo depuración y me da unos errores que adjunto en captura de pantalla.
Me podeis ayudar
Muchas gracias
Manel
Contenido solo visible a usuarios registrados
Hola Josep,
Antes de actualizar verificaste la compatibilidad de tus módulos, verifica si dentro de los módulos que tienes ahora añadidos hay alguno que pueda generar el error, de igual forma revisa si al modificar la versión de PHP a 7.3 te sigue mostrando esto
Verifica esto y nos comentas como ha ido todo
Un Saludo
Hola @karen,
He desactivado todos los modulos no nativos i sigue igual, estoy con Versión PHP: 7.3.27 pero sigue igual, al acceder a los pedidos me da error 500, por otro lado he comprobado que tambien se han dejado de enviar todos los e-mails, los he configurado con SMPT con los datos correctos y me dice:
Error: Por favor, comprueba tu configuración
Failed to authenticate on SMTP server with username "marqueting@instrument-audenis.com" using 2 possible authenticators. Authenticator LOGIN returned Expected response code 235 but got code "535", with message "535 Incorrect authentication data ". Authenticator PLAIN returned Expected response code 235 but got code "535", with message "535 Incorrect authentication data ".
Los datos estan bien seguro.
La actualización que hice me lo ha desmontado todo y era una actualización minima de 1.7.4.a 1.7.7.2
No puedo volver atras ya que he tenido varios pedidos y no los puedo perder Gracias por tu ayuda. Saludos. Manel
Hola Josep.
Es un bug reportado de prestashop, puedes ver en esta URL:
-> https://github.com/PrestaShop/PrestaShop/issues/22386
-> https://github.com/PrestaShop/PrestaShop/issues/22215
El problema es por un elemento nulo en el pedido, es dedir, algún capo de ese pedido esta vacío y por eso da ese problema.
En la segunda URL indican que puedes solucionarlo con una consulat en la base de datos.
Revisa lso enlaces que te indico y comprueba si con lo que indican se soluciona.
Un saludo
@pepesoler Hola Gracias
he hecho todos los pasos pero ahora me da otro error y sigo sin poder acceder a los pedidos adjunto pantallazo
Saludos
Hola Josep.
vamos por lo mas sencillo a ver si tenemos suerte.
Prueba a modificar la version e PHP de ese dominio. Prueba co versiones inferiores a 7.3
-> https://guias.webempresa.com/preguntas-frecuentes/cambiar-la-version-php/
Un saludo
@pepesoler hola ya lo he probado con 7.0 se cuelga y con 7.2 me da el mismo error,
Hola Josep.
Modificaste tambien el código que indican en la entrada o solo realizaste lo de la base de datos ?
This Solve the problem for me.
This File:
/public_html/src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.phpDoen`st have any validation if the value exists or not. Modify this in order to fix the file:
Change this function at line 292 app
return new OrderInvoiceAddressForViewing( $address->id ? $address->id : "", $address->firstname ? $address->firstname : "", $address->lastname ? $address->lastname : "", $address->company ? $address->company : "", $address->address1 ? $address->address1 : "", $address->address2 ? $address->address2 : "", $stateName ? $stateName : "", $address->city ? $address->city : "", $country->name[$order->id_lang] ? $country->name[$order->id_lang] : "", $address->postcode ? $address->postcode : "", $address->phone ? $address->phone : "", $address->phone_mobile ? $address->phone_mobile : "" );
Change also this function at line 252
return new OrderShippingAddressForViewing( $address->id ? $address->id : "", $address->firstname ? $address->firstname : "", $address->lastname ? $address->lastname : "", $address->company ? $address->company : "", $address->address1 ? $address->address1 : "", $address->address2 ? $address->address2 : "", $stateName ? $stateName : "", $address->city ? $address->city : "", $country->name[$order->id_lang] ? $country->name[$order->id_lang] : "", $address->postcode ? $address->postcode : "", $address->phone ? $address->phone : "", $address->phone_mobile ? $address->phone_mobile : "" );
And under this
if (Validate::isLoadedObject($gender)) { $genderName = $gender->name[$order->id_lang]; }
At line 219 ADD THIS$customer_note = $customer->note; if($genderName == null){ $genderName = '';}; if($customer_note == null){ $customer_note = '';};
-> https://github.com/PrestaShop/PrestaShop/issues/22215
Un saludo
@pepesoler Todo, pero ahora estaba mirando por si cuando modifiqué el codigo lo hice bien. Por ello me estoy planteando restaurar la web al viernes y hacerlo de cero lo del codigo y despues restaurar la base de datos en fecha de hoy para no perder los pedidos
Cres que puede funcionar?
Hola Josep.
Lo de restaura la web si, seria una de las opciones, pero no puedes restaura los archivos de uan fecha y la base de datos de otra fecha distinta, tanto la fecha de los archivos como la de la base de datos tiene que ser la misma. ( Es posible que funcione pero lo mas seguro que tengas incongruencias entre los datos )
Un saludo
Solucionado!! ya `puedo acceder a los pedidos!1
Ahora miraré si me envia los emails que era otro error que me da
Gracias
Saludos
Manel
Hola Josep,
Estupendo, igualmente si tienes el problema que comentas recuerda crear un nuevo tema para que podamos verificar esto de forma separada a este tema y podamos ayudarte.
Un saludo 🖐️