Hola,
Cuando cambio a PHP 8 me aparece este error en el proceso final de pago, luego de seleccionar la forma de pago y hacer clic en Comprar.
0 Call to undefined function escapeshellcmd()
Tengo que seguir usando PHP 7.4.30 para que funcione bien.
Usamos Joomla 3.10.11, Virtuemart 4.0.6 y GK Storebox Gavern v.4.1
Gracias
Contenido solo visible a usuarios registrados
Hola Alceste.
Es lo que comentamos en la anterior consulta, en este caso es por que hay una función que no está definida ( Call to undefined function escapeshellcmd() ) y el problema viene por alguna extensión.
Lo primero que tienes que revisar es que este todo actualizado y que todas las extensiones soporten la versión 8 de PHP
Un saludo
Hola Pepe,
Tras actualizarlo todo, lo que he podido deducir es que el error se produce después de seleccionar la forma de pago, cuando la selección es VISA o Transferencia. Sin embargo, si la forma escogida es Paypal redirige bien hacia la cuenta de Paypal.
El problema añadido tras actualizar VirtueMart es que ahora no gestiona bien los pagos con tarjeta ni con PHP 7.4. No redirige a la pasarela de pago, pero sale la pantalla como si el pedido ya estuviera finalizado, aunque se muestra este aviso en la parte superior
Según esto, ¿el error viene del módulo de pago? No me informa de que esté desactualizado.
No sé si recuperar la copia de seguridad o tratar de solucionar este error. Quedo a la espera de vuestra ayuda. Gracias
Hola Alceste.
Supongo que restauraste la web porque veo que carga la pasarela de pago:
Un saludo
Hola Pepe,
Sí, he tenido que recuperar una copia de la web ya que fallaba el pago con tarjeta. Tras actualizar a Virtuemart el error había cambiado, ya no aparecía el error "Call to undefined function escapeshellcmd()" y la web redirigía bien los pagos por Paypal y por Transferencia. Sin embargo, no redirigía a la pasarela de pago de Redsys, sinó que cargaba directamente una página agradeciendo el pedido, pero avisando que el estado del pedido quedaba en pendiente. (O sea, pago no completado)
Por eso he restaurado una copia de la web y he actualizado todos los componentes a excepción de Virtuemart, dejando PHP en 7.4.
Parece que, al margen de la versión de PHP, si actualizo a VirtueMart 4.0.12 da un error con Redsys. Por tanto, no puedo actualizarlo. No veo en la página de Redsys que exista una versión más reciente de su módulo de pago.
Como información adicional, con PHP 8 tampoco funciona otra web que tenemos con Joomla. En esa, si usamos PHP 8, no carga la web en absoluto, sale una página de error. ¿Puede ser que influya alguna configuración del hosting?
Saludos y gracias
Hola Alceste,
En este caso como mencionas el error se encuentra en la versión PHP que configures, lo que veo es que el sitio web no es compatible con esta versión ya sea por tu tema o algun plugin adicional que aún no sea compatible con esta nueva versión de PHP.
Debes verificar las extensiones que tengas instalados para revisar cuál es la que puede estar generando conflicto, ten en cuenta que en estos casos será necesario esperar que los desarrolladores ya sea de temas o plugins añadas la compatibilidad con versiones PHP 8.0.
Un Saludo