Xdebug https://keopx.net/ es Debugging Drush scripts con Xdebug y PhpStorm https://keopx.net/blog/debugging-drush-scripts-con-xdebug-y-phpstorm <span>Debugging Drush scripts con Xdebug y PhpStorm</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Para configurar correctamente un entornos para depurar con <a href="https://xdebug.org/">Xdebug</a> y <a href="https://www.jetbrains.com/phpstorm/">PhpStorm</a> los comandos <a href="https://github.com/drush-ops/drush">Drush</a> es necesario realizar una serie de configuración especifica.</p> <ul><li>Configurar una <strong><em>PHP Web Application</em> </strong>para depurar por la línea de comandos.</li> <li>Todo el código ejecutado debe estar disponible en el proyecto, incluyendo <strong>drush</strong>. <ul><li>Ej. Instalando drush como dependencia de composer (también, recuerde ejecutar drush desde su proyecto).</li> </ul></li> <li>Habilitar depuración <strong>xdebug</strong> para la línea de comandos.</li> </ul><pre> <code class="language-bash">sudo phpenmod xdebug</code></pre><ul><li>Un enlace simbólico de xdebug.ini de mi directorio<em> /etc/php/7.0/cli/conf.d</em> como estaba usando en <em>/etc/php/7.0/apache/conf.d</em> para la depuración web.</li> <li> <ul></ul><p> Ejemplo de configuración:</p></li> </ul><pre> <code class="language-bash">sudo vi /etc/php/7.0/cli/conf.d/20-xdebug.ini</code></pre><p>Y añadimos:</p> <pre> <code class="language-ini">zend_extension=xdebug.so xdebug.remote_connect_back = 1 xdebug.default_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_enable = 1 xdebug.remote_port = 9000 xdebug.remote_handler = dbgp xdebug.max_nesting_level = 500 xdebug.idekey = PHPSTORM xdebug.profiler_enable_trigger = 1</code></pre><p>Utilice el botón "<strong>Listen for PHP Debug connections</strong>" de <strong>PhpStorm</strong>:</p> <ul><li>Establezca el cliente de depuración remota en la línea de comandos utilizando:</li> <li>Editamos ~/.bashrc y añadimos:</li> </ul><pre> <code class="language-bash"># PHPstorm drush debug export XDEBUG_CONFIG="idekey=PHPSTORM" </code></pre><ul><li>Establezca la configuración del servidor. Asegúrese de que el nombre que utiliza coincide con el nombre del servidor que configuró en PhpStorm: <ul><li>PHP_IDE_CONFIG = PHPSTORM</li> </ul></li> <li>Ejecute drush.</li> </ul><p>Si quereis correr <a href="https://xdebug.org/">Xdebug</a> con <a href="https://www.docker.com/">Docker</a> y/o <a href="https://www.vagrantup.com/">Vagrant</a> os recomiendo este post: <a href="http://blokspeed.net/blog/2016/02/debugging-drush-scripts-with-xdebug-and-phpstorm-on-vagrant-in-2016/">http://blokspeed.net/blog/2016/02/debugging-drush-scripts-with-xdebug-and-phpstorm-on-vagrant-in-2016/</a></p> <p>La verdad es que no recordaba como se configuraba el Xdebug para PhpStorm y Drush y gracias a <a href="https://twitter.com/jansev3n">Juanen</a> (<a href="https://www.drupal.org/u/jansete">jansete en Drupal</a>) me he vuelto a ponermelo bien y que menos que contribuirlo :D</p> </div> <span><span>keopx</span></span> <span><time datetime="2017-06-20T19:32:56+02:00" title="Martes, Junio 20, 2017 - 19:32">Mar, 20/06/2017 - 19:32</time> </span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/categoria/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/categoria/drush" hreflang="es">Drush</a></div> <div class="field__item"><a href="/categoria/drupal-planeta" hreflang="es">Drupal Planeta</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/drush" hreflang="es">Drush</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="es">Drupal</a></div> <div class="field__item"><a href="/tag/drupal-8x" hreflang="es">Drupal 8.x</a></div> <div class="field__item"><a href="/tag/drupal-7x" hreflang="es">Drupal 7.x</a></div> <div class="field__item"><a href="/tag/xdebug" hreflang="es">Xdebug</a></div> <div class="field__item"><a href="/tag/debug" hreflang="es">debug</a></div> <div class="field__item"><a href="/tag/phpstorm" hreflang="es">PhpStorm</a></div> </div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=270&amp;2=field_comments&amp;3=comment" token="wgGKbiUh3crzk0RxGFdWGRUMK3JE0HDt8lHarEqlY3Q"></drupal-render-placeholder> </div> </div> </section> Tue, 20 Jun 2017 17:32:56 +0000 keopx 270 at https://keopx.net Configuración de PHP 5.3 y xdebug https://keopx.net/blog/configuracion-de-php-53-y-xdebug <span>Configuración de PHP 5.3 y xdebug</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Tras un tiempo utilizando ambas herramientas en php5.2 ahora a tocado actualizar a la versión 5.3 de php.</p> <p>Realizando depuración de código me encuentro en que no me muestra los mensajes que me mostraba con php 5.2, no me los muestra en php 5.3.</p> <p>No solo eso sino que ni siquiera me los muestra. Parece ser que la nueva versión esta optimizada para un entorno de producción.</p> <p>Para ello php 5.3 nos proporciona una serie de fichero php.ini para poder configurar el entorno de desarrollo y el de producción.</p> <p><strong>php 5.3 para desarrollo</strong> Buscar fichero <em>php.ini-development</em> </p> <!--break--> <pre> <code class="language-bash">$ locate php.ini-development /usr/share/doc/php5-common/examples/php.ini-development</code></pre><p>Y ahora copiamos el fichero de desarrollo, realizando antes una copia del original:</p> <pre> <code class="language-bash">$ cd /etc/php5/apache2 $ sudo mv php.ini php.ini_original $ sudo cp /usr/share/doc/php5-common/examples/php.ini-development php.ini-development</code></pre><p>Buscamos y copiamos el de producción</p> <pre> <code>$ locate php.ini-production /usr/share/php5/php.ini-production /usr/share/php5/php.ini-production.cli</code></pre><p>Copiamos el del producción:</p> <pre> <code class="language-bash">$ sudo cp /usr/share/php5/php.ini-production php.ini-production</code></pre><p>Ahora copiamos el que nos interese segun el entorno.</p> <p>Desarrollo:</p> <pre> <code class="language-bash">$ sudo mv php.ini-development php.ini</code></pre><p>Producción:</p> <pre> <code class="language-bash">$ sudo mv php.ini-production php.ini</code></pre><p>Ahora ya reiniciamos el apache y listo:</p> <pre lang="bash" line="1" xml:lang="bash"> sudo /etc/init.d/apache2 restart</pre><p><strong>Xdebug para php 5.3</strong></p> <pre> <code class="language-bash">$ sudo nano /etc/php5/apache2/conf.d/xdebug.ini</code></pre><p>Y añadimos:</p> <pre> <code class="language-ini">zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so xdebug.remote_enable=On xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_handler="dbgp"</code></pre><p>* nueva ruta <em>zend_extension=/usr/lib/php5/20090626+lfs/</em> Reiniciamos apache:</p> <pre> <code class="language-bash">sudo /etc/init.d/apache2 restart</code></pre><p>Relacionado:</p> <ul><li><a href="https://www.keopx.net/blog/netbeans-php-y-xdebug">https://www.keopx.net/blog/netbeans-php-y-xdebug</a></li> </ul><p>Referencias:</p> <ul><li><a href="http://wiki.php.net/rfc/newinis">http://wiki.php.net/rfc/newinis</a></li> </ul></div> <span><span>keopx</span></span> <span><time datetime="2010-10-17T15:43:33+02:00" title="Domingo, Octubre 17, 2010 - 15:43">Dom, 17/10/2010 - 15:43</time> </span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/php" hreflang="es">PHP</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/xdebug" hreflang="es">Xdebug</a></div> <div class="field__item"><a href="/tag/netbeans" hreflang="es">Netbeans</a></div> <div class="field__item"><a href="/tag/php" hreflang="es">php</a></div> </div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=196&amp;2=field_comments&amp;3=comment" token="6atBXafYmezHMGVvYhfGcrsaGyBRagKIti1idGP7_ss"></drupal-render-placeholder> </div> </div> </section> Sun, 17 Oct 2010 13:43:33 +0000 keopx 196 at https://keopx.net NetBeans php y xdebug https://keopx.net/blog/netbeans-php-y-xdebug <span>NetBeans php y xdebug</span> <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Con el nuevo desarrollo de módulos de Drupal para poder debugear he necesitado configurar varias herramientas.</p> <ul><li><a href="http://bits.netbeans.org/netbeans/6.8/community/fcs/bundles/netbeans-6.8-ml-linux.sh">NetBeans 6.8</a> soporte php</li> <li><a href="http://drupal.org/">Drupal</a></li> <li><a href="http://www.xdebug.org/">Xdebug</a></li> <li><a href="https://nbdrupalsupport.dev.java.net/files/documents/8560/115265/org-netbeans-modules-php-drupal-module.nbm">nbdrupalsupport</a></li> </ul><p>Para ellos instalamos el paquete de los repositorios de xdebug para php:</p> <pre> <code class="language-bash">sudo aptitude install php5-xdebug</code></pre><p>Una vez realizado esto configuramos nuestro php.ini</p> <p>En mi caso: <code> </code></p> <pre> <code class="language-bash">sudo nano /etc/php5/apache2/php.ini</code></pre><p>Y añadimos al principio:</p> <pre> <code class="language-ini">[PHP] zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so [debug] ; Remote settings xdebug.remote_autostart=off xdebug.remote_enable=on xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=localhost xdebug.remote_port=9000 ; General xdebug.auto_trace=off xdebug.collect_includes=on xdebug.collect_params=off xdebug.collect_return=off xdebug.default_enable=on xdebug.extended_info=1 xdebug.manual_url=http://www.php.net xdebug.show_local_vars=0 xdebug.show_mem_delta=0 xdebug.max_nesting_level=100 ;xdebug.idekey= ; Trace options xdebug.trace_format=0 xdebug.trace_output_dir=/tmp xdebug.trace_options=0 xdebug.trace_output_name=crc32 ; Profiling xdebug.profiler_append=0 xdebug.profiler_enable=0 xdebug.profiler_enable_trigger=0 xdebug.profiler_output_dir=/tmp xdebug.profiler_output_name=crc32</code></pre><p> </p> </div> <span><span>keopx</span></span> <span><time datetime="2008-12-26T13:42:04+01:00" title="Viernes, Diciembre 26, 2008 - 13:42">Vie, 26/12/2008 - 13:42</time> </span> <div class="field field--name-field-tax-cat field--type-entity-reference field--label-above"> <div class="field__label">Categoria</div> <div class="field__items"> <div class="field__item"><a href="/categoria/php" hreflang="es">PHP</a></div> </div> </div> <div class="field field--name-field-tax-tag field--type-entity-reference field--label-above"> <div class="field__label">Tag</div> <div class="field__items"> <div class="field__item"><a href="/tag/xdebug" hreflang="es">Xdebug</a></div> <div class="field__item"><a href="/tag/php" hreflang="es">php</a></div> <div class="field__item"><a href="/tag/netbeans" hreflang="es">Netbeans</a></div> <div class="field__item"><a href="/tag/php-53" hreflang="es">php 5.3</a></div> </div> </div> <section data-drupal-selector="comments" class="comments"> <h2 class="comments__title">Comentarios</h2> <div class="add-comment"> <div class="add-comment__form"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=54&amp;2=field_comments&amp;3=comment" token="mgwrng5-mVw3TK8g81XeXIKqkH4oEJba5Qxus511gEk"></drupal-render-placeholder> </div> </div> </section> Fri, 26 Dec 2008 12:42:04 +0000 keopx 54 at https://keopx.net