Avisos
Vaciar todo

Hosting WordPress 70% dto Dominios promo

Error con PHP 8: Call to undefined function escapeshellcmd()  

 
Alceste
 Alceste
Famed Member

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

Citar
Respondido : 28/02/2023 10:40 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

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

ResponderCitar
Respondido : 28/02/2023 12:04 pm

Cursos Gratuitos WordPress

Alceste
 Alceste
Famed Member

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

  • REDSYS: Pedido en estado "Pending"

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

ResponderCitar
Respondido : 01/03/2023 6:49 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Alceste.

Supongo que restauraste la web porque veo que carga la pasarela de pago:

screenshot sis.redsys.es 2023.03.01 10 34 45

 

Un saludo

ResponderCitar
Respondido : 01/03/2023 9:35 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Alceste
 Alceste
Famed Member

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)

  • REDSYS: Pedido en estado "Pending"

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

ResponderCitar
Respondido : 01/03/2023 11:53 am
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

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

ResponderCitar
Respondido : 01/03/2023 12:17 pm