Buenos Días,
Duplicamos la web para actualizarla y trabajar en ella, al hacerlo en el nuevo directorio no funcionan las páginas de producto, dan error 500, también hemos actualizado a la última versión de prestashop de la 1.7.6 a 1.7.7
Como no sabíamos el error active modo depuración y en la página de producto dice:
Parse error: syntax error, unexpected ''category_rule'' (T_CONSTANT_ENCAPSED_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /home2/buckerbo/public_html/buckerbook2021/override/classes/Dispatcher.php on line 4
Ahora al intentar entrar en prestashop para desactivar el modo depuración en la página de acceso nos sale:
(1/1) ContextErrorException |
---|
in index.php line 74 |
He intentado entrar por FTP para modificar el archivo defines.inc.php y cambiar true por false
/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
define(‘_PS_MODE_DEV_’, false);
}
Aun así el error continua, he borrado de la carpeta var, el cache por si fuera eso, pero sigue fallando, el log me da:
[11-Jun-2021 12:56:14 Europe/Madrid] PHP Notice: Undefined index: HTTP_ACCEPT_LANGUAGE in /home2/buckerbo/public_html/modules/psrecaptcha/psrecaptcha.php on line 391
[11-Jun-2021 12:56:15 Europe/Madrid] PHP Fatal error: Uncaught Error: Call to a member function getmanufacturerLink() on string in /home2/buckerbo/public_html/var/cache/prod/smarty/compile/fe/54/58/fe5458c34cbd4ad45bd4621594f5a84c164b0d73_2.file.fieldbrands.tpl.php:90
Stack trace:
#0 /home2/buckerbo/public_html/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_60c33dc5de0590_93308248(Object(SmartyCustomTemplate))
#1 /home2/buckerbo/public_html/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(SmartyCustomTemplate))
#2 /home2/buckerbo/public_html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render(Object(SmartyCustomTemplate))
#3 /home2/buckerbo/public_html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(false, 0)
#4 /home2/buckerbo/public_html/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(116): Smarty_Internal in /home2/buckerbo/public_html/var/cache/prod/smarty/compile/fe/54/58/fe5458c34cbd4ad45bd4621594f5a84c164b0d73_2.file.fieldbrands.tpl.php on line 90
[11-Jun-2021 12:56:15 Europe/Madrid] PHP Deprecated: Non-static method HtmlBlock::getHTML() should not be called statically in /home2/buckerbo/public_html/modules/fieldhtmlblock/fieldhtmlblock.php on line 830
nose si pueden darme alguna pista de como conseguir restablecer el modo normal, así acceder a la web para seguir trabajando
Muchas gracias
Contenido solo visible a usuarios registrados
Hola Di Pierro,
Veo que entre los errores que se muestran hacen referencia al módulo de psrecaptcha prueba ingresar a tu cPanel ->administrator de archivos -> public_html una vez dentro de este ingresa al directorio de módulos y renombra psrecaptcha a psrecaptcha_old luego verifica si con ello logras ingresar.
De igual forma verifica si estás desactivando de forma correcta el debug para ello debes ingresar al directorio app/config y verificar si en el archivo parameters.php está desactivado el modo debug de true a false
Verifica esto y nos comentas cómo ha ido todo
Un Saludo
Gracias, por tu ayuda, he renombrado la carpeta del módulo que da error, pero en el archivo parameters.php, no aparece nada de debug mode...
Hola Di Pierro.
Por lo que puedo ver el problema esta en el archivo Dispatcher.php que se encuentra en al careta owerride.
Le pedi a un compañero de hosting que renombrara el archivo y veo que esta cargando la web:
Revisa que puedas acceder sin problemas y nos comentas.
Un saludo
Gracias Pepe,
Como al final no funcionaba, no conseguí deshabilitar el modo de prueba y me vi obligado a restaurar los archivos, con esto conseguí que funcionase la web de desarrollo de nuevo, pero lo raro es que aunque los archivos estaban en carpetas diferentes a la web activa, esta se vio afectada y llevamos más de dos horas sin servicio con error a veces error 500 y cuando se arregla da error en todas las URL, :
Estoy viendo si podemos solucionarlo por que nose a que se debe, ya que en la web publicada no hicimos ningún cambio....
Hola Di Pierro,
Es muy raro que se esté generando este error, se ha realizado algún cambio en el sitio web de producción. Prueba lo siguiente ingresa a tu cPanel y renombra el archivo htaccess, luego ve a tu sitio web e ingresa en Parámetros de la tienda -> tráfico y SEO
Dentro de este ubica la sección Configuración de URLs y desactivalas
Ve a Parámetros avanzado rendimiento y borra la cache
Verifica si te carga bien el sitio web, si es así, ingresa nuevamente a la sección de configurar URLs amigables y activalo
Comprueba si el sitio web ahora funciona de forma correcta
Verifica esto y nos comentas como ha ido todo
Un Saludo
Gracias, hemos conseguido arreglar lo de la página reinicializando el módulo de URL Amigables
En la web de desarrollo siguen sin funcionar las páginas de producto, el error que da es:
Symfony\Component\Debug\Exception\FatalThrowableError: Parse error: syntax error, unexpected ''category_rule'' (T_CONSTANT_ENCAPSED_STRING), expecting function (T_FUNCTION) or const (T_CONST) at override/classes/Dispatcher.php:4 at PrestaShopAutoload->load('Dispatcher') (vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php:159) at Symfony\Component\Debug\DebugClassLoader->loadClass('Dispatcher') at spl_autoload_call('Dispatcher') (classes/Link.php:830) at LinkCore->getAdminLink('AdminDashboard', true, array(), array('token' => '052e33dc30c5069a1994d310618a3d09')) (src/Adapter/LegacyContext.php:126) at PrestaShop\PrestaShop\Adapter\LegacyContext->getAdminLink('AdminDashboard', true, array()) (src/PrestaShopBundle/Twig/LayoutExtension.php:247) at PrestaShopBundle\Twig\LayoutExtension->getAdminLink('AdminDashboard') (var/cache/dev/twig/52/5207b3cf597c29d9b2de9f8cf38392b1c6e75db67d4075c531f40220007736d2.php:150) at __TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703->block_body(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0', 'theme' => object(Theme), 'default_currency' => '€', 'root_url' => '/buckerbook2021/', 'js_translatable' => array(), 'app' => object(AppVariable), 'webpack_server' => false), array('title' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_stylesheets'), 'body' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_body'), 'javascripts' => array(object(__TwigTemplate_129d9da7375d01e6c0207b9f5297fbe88f2f7b10c3aa2f8350228989d94513af), 'block_javascripts'))) (vendor/twig/twig/src/Template.php:216) at Twig\Template->displayBlock('body', array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0', 'theme' => object(Theme), 'default_currency' => '€', 'root_url' => '/buckerbook2021/', 'js_translatable' => array(), 'app' => object(AppVariable), 'webpack_server' => false), array('title' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_stylesheets'), 'body' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_body'), 'javascripts' => array(object(__TwigTemplate_129d9da7375d01e6c0207b9f5297fbe88f2f7b10c3aa2f8350228989d94513af), 'block_javascripts'))) (var/cache/dev/twig/53/5360a5fc84cb50f07d5ed106c16054c59c3e406ecd0ca86712e108095207a35a.php:59) at __TwigTemplate_129d9da7375d01e6c0207b9f5297fbe88f2f7b10c3aa2f8350228989d94513af->doDisplay(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0', 'theme' => object(Theme), 'default_currency' => '€', 'root_url' => '/buckerbook2021/', 'js_translatable' => array(), 'app' => object(AppVariable), 'webpack_server' => false), array('title' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_stylesheets'), 'body' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_body'), 'javascripts' => array(object(__TwigTemplate_129d9da7375d01e6c0207b9f5297fbe88f2f7b10c3aa2f8350228989d94513af), 'block_javascripts'))) (vendor/twig/twig/src/Template.php:455) at Twig\Template->displayWithErrorHandling(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0', 'theme' => object(Theme), 'default_currency' => '€', 'root_url' => '/buckerbook2021/', 'js_translatable' => array(), 'app' => object(AppVariable), 'webpack_server' => false), array('title' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_stylesheets'), 'body' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_body'), 'javascripts' => array(object(__TwigTemplate_129d9da7375d01e6c0207b9f5297fbe88f2f7b10c3aa2f8350228989d94513af), 'block_javascripts'))) (vendor/twig/twig/src/Template.php:422) at Twig\Template->display(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0', 'theme' => object(Theme), 'default_currency' => '€', 'root_url' => '/buckerbook2021/', 'js_translatable' => array(), 'app' => object(AppVariable), 'webpack_server' => false), array('stylesheets' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_stylesheets'), 'title' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_title'), 'body' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_body'))) (var/cache/dev/twig/52/5207b3cf597c29d9b2de9f8cf38392b1c6e75db67d4075c531f40220007736d2.php:43) at __TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703->doDisplay(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0', 'theme' => object(Theme), 'default_currency' => '€', 'root_url' => '/buckerbook2021/', 'js_translatable' => array(), 'app' => object(AppVariable), 'webpack_server' => false), array('stylesheets' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_stylesheets'), 'title' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_title'), 'body' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_body'))) (vendor/twig/twig/src/Template.php:455) at Twig\Template->displayWithErrorHandling(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0', 'theme' => object(Theme), 'default_currency' => '€', 'root_url' => '/buckerbook2021/', 'js_translatable' => array(), 'app' => object(AppVariable), 'webpack_server' => false), array('stylesheets' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_stylesheets'), 'title' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_title'), 'body' => array(object(__TwigTemplate_38d1fe60e75be95062a59a33ae8603b6fdc24f273b739c9914fb7d6410a73703), 'block_body'))) (vendor/twig/twig/src/Template.php:422) at Twig\Template->display(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0')) (vendor/twig/twig/src/Template.php:434) at Twig\Template->render(array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0')) (vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php:50) at Symfony\Bridge\Twig\TwigEngine->render('@PrestaShop/Admin/Security/compromised.html.twig', array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0')) (vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerTrait.php:286) at Symfony\Bundle\FrameworkBundle\Controller\Controller->render('@PrestaShop/Admin/Security/compromised.html.twig', array('requestUri' => '/buckerbook2021/adminweb/index.php/security/compromised?_token=-lKCFtQ3DjidDLSnZVjpO3hpXsThBHmmCE7rav6Utx0')) (src/PrestaShopBundle/Controller/Admin/SecurityController.php:59) at PrestaShopBundle\Controller\Admin\SecurityController->compromisedAccessAction(object(Request)) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, false) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200) at Symfony\Component\HttpKernel\Kernel->handle(object(Request), 1, false) (adminweb/index.php:82
*
* @return string
*/
public function getAdminLink($controller, $withToken = true, $extraParams = [])
{
return $this->getContext()->link->getAdminLink($controller, $withToken, $extraParams, $extraParams);
}
/**
* Returns the controller link in its legacy form, without trying to convert it in symfony url.
*
echo twig_escape_filter($this->env, $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Yes, I understand the risks", [], "Admin.Catalog.Help"), "html", null, true);
echo "
</a>
<a class=\"btn btn-lg btn-primary ml-3\" href=\"";
// line 65
echo twig_escape_filter($this->env, $this->env->getExtension('PrestaShopBundle\Twig\LayoutExtension')->getAdminLink("AdminDashboard"), "html", null, true);
echo "\">
";
// line 66
echo twig_escape_filter($this->env, $this->env->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->trans("Take me out of there!", [], "Admin.Catalog.Help"), "html", null, true);
echo "
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension");
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@PrestaShop/Admin/Security/compromised.html.twig"));
$this->parent = $this->loadTemplate("::base.html.twig", "@PrestaShop/Admin/Security/compromised.html.twig", 25);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
$__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
* @final since version 3.4
*/
protected function render($view, array $parameters = [], Response $response = null)
{
if ($this->container->has('templating')) {
$content = $this->container->get('templating')->render($view, $parameters);
} elseif ($this->container->has('twig')) {
$content = $this->container->get('twig')->render($view, $parameters);
} else {
throw new \LogicException('You can not use the "render" method if the Templating Component or the Twig Bundle are not available. Try running "composer require symfony/twig-bundle".');
}
$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);
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) {
$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)
Muchas Gracias
Hola
Lo que te reporta son errores extraños, posiblemente se deba a un problema en la actualización o la actualización misma.
Has cambiado algún otro parámetro?, por ejemplo la verisón de PHP?
De manera general podrías evaluar recuperar una copia de tu sitio pero antes de la actualización y verificar si aún tienes problemas.
Saludos.
Gracias Jhon,
No hemos modificado la versión de PHP, solo actualizamos prestashop después de duplicarlo, la verdad que no probamos ver si funcionaban esas páginas antes de la actualización.
Como no sabíamos el error active modo depuración y en la página de producto dice:
(1/3) PDOException
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'ps17bb_product_comment' doesn't exist
(2/3) PDOException
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'ps17bb_product_comment' doesn't exist
(3/3) TableNotFoundException
An exception occurred while executing 'SELECT SUM(pc.grade) / COUNT(pc.grade) AS averageGrade FROM ps17bb_product_comment pc WHERE (pc.id_product = ?) AND (pc.deleted = ?)' with params [7327, 0]:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'ps17bb_product_comment' doesn't exist
Vamos a ver si podemos seguir intentando que funcione, ya que al ser una nueva web nos gustaría que este actualizada a la última versión
Gracias
Hola
Ok, tal como te comenté, evalúa recuperar tu sitio antes del clon y antes de la actualización, puedes usar las herramientas de tu hosting para recuperar tu siito, revisa:
Asegúrate de recuperar archivos y BD ambos de la misma fecha.
Saludos.
Lo raro es que si creamos un producto tampoco nos deja, nos sale lo siguiente:
La página no puede procesar esta solicitud ahora.
Hola Di Pierro,
En este caso como comenta Jhon es posible que necesites realizar una restauración del sitio antes de su actualización. De igual forma verífica el siguiente artículo donde mencionan los posibles errores lo que se pueden generar este tipo de error y sus posibles soluciones -> Contenido solo visible a usuarios registrados
Verifica esto y nos comentas como ha ido todo
Un Saludo
Gracias, ya hemos detectado el problema, se origina al instalar el tema Warehouse, en cuanto se instala nos fallan todas las páginas de producto, si activamos el tema por defecto de prestashop o el que teníamos funciona correctamente.
He escrito a soporte a ver si pueden solucionarlo los del tema
Gracias
Saludos
Hola Di Pierro.
Ok Gracias por informarnos.
Dejamos el hilo abierto por si necesitas retomarlo con lo que te digan en el soporte del tema.
Un saludo
Gracias,
Ya está resuelto, el problema es que el módulo de prestashop entraba en conflicto con el tema, desde que se desactivo funciona correctamente.
Una pregunta, que recomendaciones hay para ver la salud de un prestashop, me da miedo que al ser una web antigua que se ha actualizado a la nueva versión y lleva desde 2017 arrastre problemas en el código que puedan ser un inconveniente... Hay algún método para ver todos los errores que pueda generar, además de ver el archivo error log? algun archivo de la base de datos o algo que permita analizar todo para ponerla a punto?
Gracias!