Jump to content

Recommended Posts

Hola.!
 

Hace poco actualicé el Prestashop a la versión 1.7.4.2 he obtenido mejoras y también dolores de cabeza por parte de algunos módulos (MRW CARRIER),

Una vez que se había actualizado el prestashop procedí a actualizar los módulos que tengo instalados, cada uno se adaptó a la nueva actualización perfectamente corrigiendo los errores que tenían luego de la actualización del PS, menos el modulo de MRW (que aún no han sacado una nueva versión siguen estando antiguo) presentando el siguiente problema:5bade37379071_Reporte2.thumb.PNG.3b8e30f39b6f174e7728d964987a4309.PNG
(Quiero hacer saber que los otros módulos que actualicé también presentaban un error igual a este)
 

al activar el modo DEBUG vemos algo mas detallado:
5bade44310d0c_Reporte1.thumb.PNG.04be1c1e204ed3197b604df6351d0a5b.PNG

(Quiero hacer saber que los módulos que presentaban errores y se actualizaron corrigiendo esto presentaban también problemas con la primera linea: "in classes/ObjectModule.php (line 1925) hasta que se actualizaron y corrigieron esto.)

Anexaré el código de cada linea por el orden que se muestran en la captura:
in classes/ObjectModel.php (line 1925)

  1.         if ($field === null) {
  2.             $cache_id 'objectmodel_def_'.$class;
  3.         }
  4.  
  5.         if ($field !== null || !Cache::isStored($cache_id)) {
  6.             $definition $class::$definition;
  7.  
  8.             $definition['classname'] = $class;
  9.  
  10.             if (!empty($definition['multilang'])) {
  11.                 $definition['associations'][PrestaShopCollection::LANG_ALIAS] = array(

 

ObjectModelCore::getDefinition('MrwCarrier')in classes/controller/AdminController.php (line 856)

  1.         }
  2.  
  3.         $filters $this->context->cookie->getFamily($prefix.$this->list_id.'Filter_');
  4.         $definition false;
  5.         if (isset($this->className) && $this->className) {
  6.             $definition ObjectModel::getDefinition($this->className);
  7.         }
  8.  
  9.         foreach ($filters as $key => $value) {
  10.             /* Extracting filters from $_POST on key filter_ */
  11.             if ($value != null && !strncmp($key$prefix.$this->list_id.'Filter_'Tools::strlen($prefix.$this->list_id))) {

 

AdminControllerCore->processFilter()in classes/controller/AdminController.php (line 955)

  1.                     return $this->ajaxProcess();
  2.                 }
  3.             } else {
  4.                 // Process list filtering
  5.                 if ($this->filter && $this->action != 'reset_filters') {
  6.                     $this->processFilter();
  7.                 }
  8.  
  9.                 if (isset($_POST) && count($_POST) && (int)Tools::getValue('submitFilter'.$this->list_id) || Tools::isSubmit('submitReset'.$this->list_id)) {
  10.                     $this->setRedirectAfter(self::$currentIndex.'&token='.$this->token.(Tools::isSubmit('submitFilter'.$this->list_id) ? '&submitFilter'.$this->list_id.'='.(int)Tools::getValue('submitFilter'.$this->list_id) : ''));
  11.                 }

 

AdminControllerCore->postProcess()in classes/controller/Controller.php (line 244)

  1.             if (!$this->content_only && ($this->display_header || (isset($this->className) && $this->className))) {
  2.                 $this->setMedia();
  3.             }
  4.  
  5.             // postProcess handles ajaxProcess
  6.             $this->postProcess();
  7.  
  8.             if (!empty($this->redirect_after)) {
  9.                 $this->redirect();
  10.             }
  11.  

 

ControllerCore->run()in classes/Dispatcher.php (line 428)

  1.             if (isset($params_hook_action_dispatcher)) {
  2.                 Hook::exec('actionDispatcher'$params_hook_action_dispatcher);
  3.             }
  4.  
  5.             // Running controller
  6.             $controller->run();
  7.  
  8.             // Execute hook dispatcher after
  9.             if (isset($params_hook_action_dispatcher)) {
  10.                 Hook::exec('actionDispatcherAfter'$params_hook_action_dispatcher);
  11.             }

 

DispatcherCore->dispatch()in panel/index.php (line 99)

  1.     if (!headers_sent()) {
  2.         header('Content-Type: text/html; charset=utf-8');
  3.     }
  4.  
  5.     // Prepare and trigger LEGACY admin dispatcher
  6.     Dispatcher::getInstance()->dispatch();
  7. }


Anexo Logs:

Level Channel Message
INFO10:01:41 php User Deprecated: AdminMarketing is a deprecated tab since version 1.7.0 and "Default" will be removed in 1.7.1.. Upgrade module using the docs: http://build.prestashop.com/news/how-we-reorganized-main-menu-prestashop-1.7/.
DEBUG10:01:41 php Warning: filemtime(): stat failed for /home/xxxxxxx/public_html/panel/themes/default/css/theme.css
CRITICAL10:01:41 php Access to undeclared static property: MrwCarrier::$definition
DEBUG10:01:41 doctrine SELECT name FROM ps_module WHERE active = 1
INFO10:01:41 php User Deprecated: Implementing "Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface" without the "reset()" method is deprecated since Symfony 3.4 and will be unsupported in 4.0 for class "Csa\Bundle\GuzzleBundle\DataCollector\GuzzleCollector".
CRITICAL10:01:41 request Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalThrowableError: "Access to undeclared static property: MrwCarrier::$definition" at /home/xxxxxxx/public_html/classes/ObjectModel.php line 1925


Anexo Stack Trace:

FatalThrowableError

Symfony\Component\Debug\Exception\FatalThrowableError:
Access to undeclared static property: MrwCarrier::$definition

  at classes/ObjectModel.php:1925
  at ObjectModelCore::getDefinition('MrwCarrier')
     (classes/controller/AdminController.php:856)
  at AdminControllerCore->processFilter()
     (classes/controller/AdminController.php:955)
  at AdminControllerCore->postProcess()
     (classes/controller/Controller.php:244)
  at ControllerCore->run()
     (classes/Dispatcher.php:428)
  at DispatcherCore->dispatch()
     (panel/index.php:99)

                                


Quedo a la espera de vuestra ayuda.!

Edited by Francisco (see edit history)
Link to comment
Share on other sites

  • 2 months later...

Hola Sergio, buen día.

Aún no, ya he mandado infinitos mensajes a MRW y me responden con que es error interno de nuestro servidor, actualmente estoy haciendo un servidor en paralelo con la versión mas actualizada del prestashop para poner a prueba el modulo que ellos otorgan a ver si es un problema de la versión que tenemos.

Hasta ahora me las apaño enviándolo uno por uno dentro del pedido con el modulo de MRW que así si que funciona perfectamente, te anexo captura de como lo hago actualmente,

No recuerdo si tuve que cambiar algún código para que me funcionara en esta pestaña de pedido, de todas maneras puedes contactarme si tienes problemas y tal vez llegaremos a solucionar algo,

Saludos.!
 

Captura.PNG

Link to comment
Share on other sites

Hola! También pienso que pueda deberse a eso, de hecho en los correos técnicos que intercambié con la gente de MRW tocamos estos temas pero ellos se limpian las manos ya que es tema de nuestra versión de PHP,

La versión de PHP que tengo es: 5.6.30

De hecho, por mi parte en el hosting en el servicio php y mysql tengo los timeout y los intentos de carga al máximo, por lo que descarto esta posibilidad desde un principio, incluso lo intenté en un servidor no hosting (Servidor propio) ya dopado y igual el mismo tema.

Saludos.!

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...

Hola Sergio,

Actualmente he migrado el servidor a OVH con versión actualizada de Prestashop en 1.7.5.1, por esto aproveché y solicité la versión mas nueva de MRW Carrier el cual hasta ahora he sacado mas de 10 etiquetas de forma masiva sin problemas, la versión PHP que estoy usando es la siguiente: 

Versión PHP: 7.2.15

Fijate que esos errores son dados por el Servidor bien sea por configuraciones deficientes (en tema de rendimiento limitado) o  que no haya compatibilidad entre los servicios que tienes corriendo sea por versiones o conflictos a la hora de correr ciertas funciones etc etc.

Por lo que te recomiendo hacer un check de IOPS, Limite de procesamiento, RAM, etc etc etc cuando realices 10 envíos a la vez, en caso que se aumente mucho pues ya sabrás que es que el servidor se queda sin recursos y te tira un error 500, en cambio, si esto el servidor se mantiene sin consumir ni la mitad tendrás otro problema,

Con gusto puedes contactarme y te ayudaré.

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...