{"id":113,"date":"2010-09-13T22:31:29","date_gmt":"2010-09-14T03:31:29","guid":{"rendered":"http:\/\/cesarjosue.pcriot.com\/blog\/?p=113"},"modified":"2010-09-13T22:31:29","modified_gmt":"2010-09-14T03:31:29","slug":"instalar-xdebug-en-wamp-windows","status":"publish","type":"post","link":"https:\/\/www.cesar-pillihuaman.com\/blog\/2010\/09\/instalar-xdebug-en-wamp-windows\/","title":{"rendered":"Instalar Xdebug en Wamp &#8211; Windows"},"content":{"rendered":"<p class=\"lead\">Para los que empiezan a programar en PHP les resulta un poco complicado encontrar algunos errores en su c\u00f3digo, ya que siendo PHP un lenguaje interpretado, y los warnings o errores generados por el Apache no nos muestra informaci\u00f3n suficiente para hacer debug. Por ello, deber\u00edamo usar Xdebug, que nos brinda mucha informaci\u00f3n adicional que nos permitir\u00e1 identificar errores en nuestro c\u00f3digo.<\/p>\n<h2>Obteniendo informaci\u00f3n de la configuraci\u00f3n PHP instalada en nuestra m\u00e1quina<\/h2>\n<p>Primero debemos averiguar la versi\u00f3n de PHP que tenemos instalados. Esta informaci\u00f3n puede ser obtenida usando la funci\u00f3n phpinfo().<\/p>\n<p>Se debe crear un archivo php que contenga el siguiente c\u00f3digo:<\/p>\n<pre>&lt;?php\nphpinfo();\n?&gt;\n<\/pre>\n<p>Al acceder al archivo, se generara una p\u00e1gina como esta:<\/p>\n<a href=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/phpinfo.png\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-116\" title=\"phpinfo\" src=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/phpinfo-267x300.png\" alt=\"\" width=\"451\" height=\"506\" srcset=\"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/phpinfo-267x300.png 267w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/phpinfo.png 621w\" sizes=\"(max-width: 451px) 100vw, 451px\" \/><\/a>\n<h2>Instalando Xdebug<\/h2>\n<h2><code> <\/code><\/h2>\n<p>Luego nos dirigimos a esta p\u00e1gina: <a href=\"http:\/\/www.xdebug.org\/find-binary.php\" target=\"_blank\">http:\/\/www.xdebug.org\/find-binary.php<\/a> y en el formulario copiaremos todo el contenido de la p\u00e1gina de informaci\u00f3n de PHP de nuestro servidor.<\/p>\n<a href=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/form-1.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-120\" title=\"form-1\" src=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/form-1.png\" alt=\"\" width=\"646\" height=\"647\" srcset=\"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/form-1.png 646w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/form-1-150x150.png 150w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/form-1-300x300.png 300w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/form-1-299x300.png 299w\" sizes=\"(max-width: 646px) 100vw, 646px\" \/><\/a>\n<p>Luego de dar click en el bot\u00f3n \u00abAnalyse my phpinfo() output\u00bb, nos mostrar\u00e1 un resultado como el siguiente:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/resultados.png\"><img loading=\"lazy\" class=\"size-full wp-image-122 aligncenter\" title=\"resultados\" src=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/resultados.png\" alt=\"\" width=\"598\" height=\"700\" srcset=\"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/resultados.png 598w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/resultados-256x300.png 256w\" sizes=\"(max-width: 598px) 100vw, 598px\" \/><\/a><\/p>\n<ol>\n<li>Primero debemos descargar la versi\u00f3n m\u00e1s reciente del Xdebug para la versi\u00f3n de PHP que tenga instalada en su m\u00e1quina. Como puede ver, est\u00e1 p\u00e1gina autom\u00e1ticamente le mostrar\u00e1 el link para que descargue la versi\u00f3n indicada de la librer\u00eda DLL.<\/li>\n<li>Luego copiamos la libreria DLL del Xdebug en la carpeta de extensiones de PHP, en mi m\u00e1quina est\u00e1 en <code>D:\\wamp\\bin\\apache\\Apache2.2.11\\bin\\php.ini<\/code><\/li>\n<li>Luego debemos configurar el Xdebug para que pueda ser reconocido por PHP. Para ello necesitamos editar el archivo php.ini. En mi caso, est\u00e1 en c:\\wamp\\php\\php.ini y el Apache est\u00e1 en c:\\wamp\\Apache2\\bin\\php.ini. Se deben modificar ambos archivos.Agregue lo siguiente en su archivo php.ini\n<pre><code>\n[xdebug]\nzend_extension = D:\\wamp\\bin\\php\\php5.3.0\\ext\\php_xdebug-2.1.0-5.3-vc6.dll\nxdebug.profiler_output_dir = D:\/wamp\/tmp\/xdebug\nxdebug.profiler_output_name = \"cachegrind.out.%p\"\nxdebug.profiler_enable = 0\nxdebug.profiler_append=0\nxdebug.extended_info=1\nxdebug.remote_enable=1\nxdebug.remote_handler=dbgp\nxdebug.remote_mode=req\nxdebug.remote_host=127.0.0.1\nxdebug.remote_port=9000\nxdebug.idekey=xdebug\nxdebug.remote_log=D:\/wamp\/tmp\/xdebug\/xdebug_remot.log\nxdebug.show_exception_trace=0\nxdebug.show_local_vars=9\nxdebug.show_mem_delta=0\nxdebug.trace_format=0\n<\/code>\n<\/pre>\n<p>Obviamente en la lineas indicadas se debe cambiarpor las rutas en las que tiene instalado el WAMP<\/li>\n<li>Cree una carpeta \u2018xdebug\u2019 dentro de\u00a0 <code>D<\/code>:\\wamp\\tmp<\/li>\n<li> Reinicie el servicio Apache.<\/li>\n<\/ol>\n<p>Para comprobar que tenemos el Xdebug instalado, tenemos que ir otra vez a la p\u00e1gina donde hayamos mostrado la informaci\u00f3n de la configuraci\u00f3n PHP, y debemos encontrar lo siguiente:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/exito.png\"><img loading=\"lazy\" class=\"size-full wp-image-124 aligncenter\" title=\"exito\" src=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/exito.png\" alt=\"\" width=\"755\" height=\"117\" srcset=\"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/exito.png 755w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/exito-300x46.png 300w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/exito-500x77.png 500w\" sizes=\"(max-width: 755px) 100vw, 755px\" \/><\/a><\/p>\n<h3>Comprobando<\/h3>\n<p>Para comprobar, haremos un peque\u00f1o ejemplo:<\/p>\n<pre><code>\n&lt;?php\n$a = 0;\n$b = 1;\n\n$c = $b\/$a;\necho 'respuesta es '.$c;\n?&gt;\n<\/code><\/pre>\n<p>Por defecto:<\/p>\n<a href=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error01.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-129\" title=\"error01\" src=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error01.png\" alt=\"\" width=\"552\" height=\"83\" srcset=\"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error01.png 552w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error01-300x45.png 300w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error01-500x75.png 500w\" sizes=\"(max-width: 552px) 100vw, 552px\" \/><\/a>\n<p>Con Xdebug:<\/p>\n<a href=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error02.png\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-128\" title=\"error02\" src=\"http:\/\/cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error02.png\" alt=\"\" width=\"616\" height=\"320\" srcset=\"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error02.png 616w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error02-300x155.png 300w, https:\/\/www.cesar-pillihuaman.com\/blog\/wp-content\/uploads\/2010\/09\/error02-500x259.png 500w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/a>\n","protected":false},"excerpt":{"rendered":"<p>Para los que empiezan a programar en PHP les resulta un poco complicado encontrar algunos errores en su c\u00f3digo, ya que siendo PHP un lenguaje interpretado, y los warnings o errores generados por el Apache no nos muestra informaci\u00f3n suficiente para hacer debug. Por ello, deber\u00edamo usar Xdebug, que nos brinda mucha informaci\u00f3n adicional que nos permitir\u00e1 identificar errores en nuestro c\u00f3digo.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[30,32,37,41,42,43],"_links":{"self":[{"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/posts\/113"}],"collection":[{"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":0,"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/posts\/113\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/media?parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/categories?post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cesar-pillihuaman.com\/blog\/wp-json\/wp\/v2\/tags?post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}