Jump to content

warning


Recommended Posts

Hola,

Activando el modo debug, tengo un warning que no localizo de donde viene:

Warning en línea 2315 en archivo /var/www/vhosts/technologysport.com/test.technologysport.com/tienda/classes/module/Module.php
[2] file_exists(): open_basedir restriction in effect. File(/views/templates/hook/HookDashboardZoneTwo.tpl) is not within the allowed path(s): (/var/www/vhosts/technologysport.com/:/tmp/)

Si me podéis ayudar, tengo un presta 1.8.2 con PHP 8.0

Gracias

warnig.jpg

Link to comment
Share on other sites

Hola @alfonsots

Sobre open_basedir

https://es.linux-console.net/?p=8695

Y volviendo a tu mensaje, si miramos la linea 2315 del fichero Module.php

imagen.png.4cfd84ba85704aecfe4dc212d49c8b6c.png

 lo que yo entiendo es que Prestashop comprueba la existencia de  la plantilla HookDashboardZoneTwo.tpl en la ruta /views/templates/hook/

pero el open_basedir está activo y señala a /var/www/vhosts/technologysport.com/

En mi instalación (PS 8.2.0) haciendo un paso a paso en el dashboard del admin se ve esto:

imagen.png.67da369d017c19ecc13b5a3569c33fb9.png

Es decir el nombre de la plantilla no lleva ningún path asociado y, por supuesto no empieza por "/" que entiendo aquí haría referencia al root del filesystem, totalmente fuera de la directiva open_basedir

¿Tienes algún módulo instalado que pueda provocar esto? ¿Puedes probar a desactivar el open_basedir? ¿Puedes ver quién pide esa plantilla y por qué la envía con una ruta absoluta?

Espero te sirva

 

Link to comment
Share on other sites

Hola,

Lo primero gracias por vuestra ayuda, he  desactivado el open_basedir y ya no tengo el error, pero entiendo que eso tiene que estar activado no?

por otro lado me dices que con una ruta absoluta puedo ver quien pide esa plantilla por ahí me pierdo, como hago eso?

Luego si activo el php 8.1 tengo otro error mas que aquí os muestro, ósea que me quedo en el 8.0.

image.png.4b466fb2642c743356f682727798aebe.png

Link to comment
Share on other sites

9 hours ago, alfonsots said:

Hola,

Lo primero gracias por vuestra ayuda, he  desactivado el open_basedir y ya no tengo el error, pero entiendo que eso tiene que estar activado no?

por otro lado me dices que con una ruta absoluta puedo ver quien pide esa plantilla por ahí me pierdo, como hago eso?

Luego si activo el php 8.1 tengo otro error mas que aquí os muestro, ósea que me quedo en el 8.0.

image.png.4b466fb2642c743356f682727798aebe.png

Para este error ya recomendé una solución parcial en este hilo.

En cuanto a esta frase,

9 hours ago, alfonsots said:

por otro lado me dices que con una ruta absoluta puedo ver quien pide esa plantilla

 

no digo eso. Lo que digo es que parece ser que "alguien o algo" envía esa plantilla con esa ruta absoluta. Yo buscaría ese fichero en la carpeta modules de PS a ver si pertenece a algún módulo de los instalados. También podrías desactivar los módulos no nativos (desde el menu "Configurar->parámetros avanzados->rendimiento") a ver si es un problema del propio PS o de alguno de los módulos extra.

Ya nos dices.

Link to comment
Share on other sites

desde luego desactivando los módulos nativos desde esa opción ha desaparecido el warning, entiendo que ahora habrá que activarlos uno a uno para ver cual es que da el warning. luego entraré en ver como quito los errores cuando activo el php 8.1, seguimos gracias por la ayuda

Link to comment
Share on other sites

NO TOQUES NADA MAS!!

🤣 Es broma.

Madre mía, eso no me lo esperaba. Yo no tengo ese módulo (ps_metrics) en mi instalación así que no puedo ayudarte con ese error tan feo.

Respecto a tu último post, efectivamente, una vez que ya has visto que es algún módulo, puedes ir jugando a activar y desactivar hasta que encuentres el problemático, y luego buscar información específica o actualizaciones sobre el.

Un saludo!

 

Link to comment
Share on other sites

Hola Manuel_gt sigo mirando los modulos no nativos para ver cual da el error, por otro lado gracias a tu hilo sobre el php 8.2 he solucionado algunos errores del psaccount pero aun tengo otros te paso aqui:

image.png.6ad0ca59974170393dbc55566a234d49.png

Link to comment
Share on other sites

Pues a ver,

La respuesta corta:

Yo personalmente quitaría el módulo ps_account que no tengo claro que te esté dando algún beneficio. Eso lo sabes solo tu. Si lo quieres conservar o no.

La respuesta larga.

Es un tema de php 8.1:

https://www.php.net/manual/en/class.serializable.php

Este módulo tiene su propia estructura "vendor" con los paquetes que necesita para funcionar "correctamente", y entre ellos hay un poco de symfony. Si miras en esa carpeta:

ps_accounts\vendor\symfony\config\Resource

encontrarás las clases de los errores. Me centraré en ClassExistenceResource  (namespace PrestaShop\Module\PsAccounts\Vendor\Symfony\Component\Config\Resource)

que en su código define los métodos obsoletos:

imagen.png.05a8d8c749c69cda4250722274f1cfa6.png

Pero resulta que en la carpeta vendor de  Prestashop 8.2 tienes, en 

\vendor\symfony\symfony\src\Symfony\Component\Config\Resource

una clase ClassExistenceResource (namespace Symfony\Component\Config\Resource) que NO tiene esas funciones.

Por lo tanto, entiendo que podrías comentar esas funciones o cambiar en el módulo ps_accounts, donde ponga:

use PrestaShop\Module\PsAccounts\Vendor\Symfony\Component\Config\Resource\Symfony\Component\Config\Resource;

por

use Symfony\Component\Config\Resource\Symfony\Component\Config\Resource;

y ver que pasa.

 En cualquier caso, lo que me sorprende es que un módulo de los propios de Prestashop dé tantos problemas. ¿No han comprobado la compatibilidad con php 8.1?

Un saludo.

 

Link to comment
Share on other sites

Hola Manuel_gt, desactivando los módulos nativos desde la opción que me dijiste y después activándolos manualmente todos ya no tengo el problema de warnings ni de errores, increíble. entonces voy a seguir probando para ver que el milagro es real.

Link to comment
Share on other sites

Hola de nuevo.

Me gustaría comentar que la gente de Prestashop ha seguido este hilo y me ha contactado a raíz de mi comentario el módulo ps_account. Muy amablemente me han agradecido el descubrimiento del bug y me han comentado que ya lo han solucionado y que estará disponible en la siguiente versión del módulo. Os pego un poco de su respuesta:

Quote

Hola, 
 
El arreglo está en la próxima versión del módulo, aquí le dejo el link del Github asociado: https://github.com/PrestaShopCorp/ps_accounts/releases
 
Saludos. 

Un saludo.

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