Truco para Habilitar Errores de PHP solo en Web Service API de PrestaShop

Publicidad

Si utilizamos Web Service API de PrestaShop por ejemplo para actualizar los productos mediante un script o proceso, tarde o temprano nos veremos en la necesidad de habilitar los errores de PHP para por hacer la depuración correspondiente. PrestaShop nos sugiere habilitar display_errors a on en config.inc.php para poder ver los errores que nos devuelve cada llamada al web service.

Dado que la tienda está en producción no sería deseable que los usuarios que visiten el sitio pudieran ver errores de PrestaShop por lo que una solución razonable es que habilitemos los errores de PHP solo para las llamadas de Web Service. Dicho en otras palabras, cuando llamemos vía el cliente de Web Service entonces habilitamos los errores de PHP usando ini_set, pero no para el modo normal.

Una forma de lograrlo es utilizando un USER AGENT personalizado. Dado que tenemos acceso al cliente que hace la llamada al Web Service, y que lo efectúa via CURL, podemos fácilmente agregar una línea de configuración para establecer el User Agent.

En mi caso, el cliente para Web Service API que uso es PSWebServiceLibrary. En la línea 137 antes de llamar a curl, establecemos la siguiente opción.

curl_setopt($session, CURLOPT_USERAGENT, ‘PSWebServiceLibrary’);

Luego, vamos a PrestaShop en la carpeta /config/ y editamos el archivo config.inc.php para poder agregar esta línea:

if ( preg_match(‘/PSWebServiceLibrary/i’, $_SERVER[‘HTTP_USER_AGENT’] )) @ini_set(‘display_errors’, ‘on’);

Finalmente, probamos y deberíamos ver los errores de PHP para las llamadas de Web Service pero no para la versión web de la tienda.

Related Posts Plugin for WordPress, Blogger...

Truco para Habilitar Errores de PHP solo en Web Service API de PrestaShop se encuentra en Comercio Electrónico usa los siguientes tags:

 

Sin comentarios. ¿Quieres ser el primero en comentar?

Dejar un comentario