Ya comentaba anteriormente algún problema que tengo en una Web para un amiguete al que le estoy creando una tienda virtual (enlace). En este caso, continuo recibiendo errores y sin posibilidad de deshabilitar la opción display_errors.
Todo el jaleo viene provocado por el uso de la versión 5.3 del servidor PHP y que por defecto el servidor muestra los errores por pantalla. Creo que el problema puede estar en la versión PHP definida en el archivo .htaccess que, repito: por defecto, no he modificado. Tengo que estudiarlo...
De momento me ha dado por corregirlos y a continuación podeis encontrar algunos fallos que he encontrado a la hora de realizar el pago, utilizando el componente VirtueMart 1.1.9 para Joomla 1.5.25 como gestor de contenido.
Archivo: phpmailer.php
Como se puede observar en la captura anterior, para los errores del fichero con ruta /www/libraries/phpmailer/phpmailer.php, obtenemos dos funciones despreciadas a partir de la versión 5.3 de PHP.
* Función split()
Deprecated: Function split() is deprecated in /www/libraries/phpmailer/phpmailer.php on line 470
Como siempre, buscando información por Internet llego a la documentación del fabricante. En este caso, la función split() es sustituida por explode() que cumple la misma función.
* Función set_magic_quotes_runtime()
Deprecated: Function set_magic_quotes_runtime() is deprecated in /www/libraries/phpmailer/phpmailer.php on line 1218
Deprecated: Function set_magic_quotes_runtime() is deprecated in /www/libraries/phpmailer/phpmailer.php on line 1222
Nuevamente rebuscando por los confineres de Internet, gracias a nuestro Gran Hermano Google y su eficacia para rastrear todo lo que se encuentra publicado. Llego a la documentación de PHP para descubir que a partir de la versión 5.4 la funcionalidad magic_quotes_runtime será eliminada.
Archivo ps_payment.php
Notice: Undefined property: ps_payment::$payment_code in /www/administrator/components/com_virtuemart/classes/ps_checkout.php on line 1220
Aunque en este caso, el error nos lo marca en el archivo ps_checkout.php, como podemos ver en el siguiente enlace corrrespondiente al foro oficial de VirtueMart, el fallo se encuentra en el archivo ps_payment.php.
En la versión 1.1.9 de éste componente, dicho archivo se encuentra en el directorio /www/administrator/components/com_virtuemart/classes/payment y se soluciona inicializando la variable payment_code dentro de la clase ps_payment.
Probando cambios
Una vez tenemos los cambios realizados y subidos los archivos al servidor, si probamos a realizar una nueva compra no aparece ningún error por pantalla.
Tengo que revisar los archivos .htaccess a ver si encuentro la raiz del problema para deshabilitar display_errors. Os mantendré informado...
Un saludo, Brixton Cat.
Gracias, me salvaste esos errores me fastidiaban, buen blog
ResponderEliminarGracias por el comentario, me alegro que te haya servido de ayuda. Saludos!
EliminarMuchas gracias! Los errores que daba phpmailer me estaban fastidiando. Gracias a "San Google" encontre tu blog que me dio la solucion.
ResponderEliminar