<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Wed, 19 Jun 2013 07:08:58 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Enrise Blog: Debugging Your Web Application with TCPDump and Wireshark]]></title>
      <guid>http://www.phpdeveloper.org/news/18894</guid>
      <link>http://www.phpdeveloper.org/news/18894</link>
      <description><![CDATA[<p>
On the Enrise blog <i>Tim de Pater</i> has posted about a <a href="http://www.enrise.com/2012/12/debugging-your-webapplication-with-tcpdump-and-wireshark/">different sort of method for debugging</a> your web applications - using a combination of <a href="http://www.wireshark.org/">Wireshark</a> and <a href="http://www.tcpdump.org/">tcpdump</a> to monitor your application's input and output.
</p>
<blockquote>
Everything is running great, until suddenly the monitoring is yelling, the load on several servers is rising, MySQL queries/second and the memcached commands/second going through the roof, Apache processes are higher than usual, and the website starts giving timeouts. Yes, that sucks. Of course you'll first check everything that comes up in your mind like logs, diskspace, swap, etc. But then you come to a point that you really have to dive into it to find the cause of this sudden problem. There are several ways of doing this. One way I learned the last time we were in this scenario is using tcpdump and Wireshark.
</blockquote>
<p>
He gives you a brief "getting started" tutorial helping you get things set up - dumping the packets with tcpdump and sifting through the results with Wireshark. His examples are more specific to watching for memcache traffic, but it can easily be applied to more general kinds of requests. Screenshots are also included so you can be sure you're seeing the right kind of results.
</p>]]></description>
      <pubDate>Fri, 14 Dec 2012 12:50:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Silver Lining Blog: How to Enable XDebug in Windows Azure Web Sites]]></title>
      <guid>http://www.phpdeveloper.org/news/18528</guid>
      <link>http://www.phpdeveloper.org/news/18528</link>
      <description><![CDATA[<p>
On the Silver Lining blog (a MSDN Windows Azure related site), there's <a href="http://blogs.msdn.com/b/silverlining/archive/2012/09/20/how-to-enable-xdebug-in-windows-azure-web-sites.aspx">a recent post</a> showing how you can enable XDebug on your Azure instance to help with debugging your application.
</p>
<blockquote>
 In this post, I'll cover how to run <a href="http://xdebug.org/">XDebug</a> (including the profiler) in Windows Azure Web Sites. Enabling XDebug in Windows Azure Web Sites is as simple as enabling an extension. However, enabling an extension for the built-in PHP runtime is slightly different than doing so for a custom PHP runtime. I'll cover both scenarios here. 
</blockquote>
<p>
The post is broken up into two sections - one if you're just using the built-in PHP runtime that's already in the instance and another if you're using a custom one of your own. Changes to the configuration files and some screenshots of where to make the updates are included.
</p>]]></description>
      <pubDate>Thu, 27 Sep 2012 11:53:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Danne Lundqvist: Using Xdebug in MAMP]]></title>
      <guid>http://www.phpdeveloper.org/news/18488</guid>
      <link>http://www.phpdeveloper.org/news/18488</link>
      <description><![CDATA[<p>
<i>Danne Lundqvist</i> has a new post today showing you how to <a href="http://www.dotvoid.com/2012/09/using-xdebug-in-mamp/">install and use XDebug with MAMP</a>, the popular all-in-one LAMP package for OS X.
</p>
<blockquote>
MAMP is a full local server environment including Apache, PHP and MySQL in one package. Anyone feeling at home in *nix systems should feel at home using both OS X and MAMP. [...]  As I have helped a few collegues setup <a href="http://www.xdebug.org/">Xdebug</a> in MAMP I have discovered that a lot of developers don't do this as they don't know how simple it is. Even seasoned PHP developers use the old echo/die debugging techniques.
</blockquote>
<p>
He includes all the changes you'll need to make to configuration files and makes a simple script you can use to test out that things are working. As his IDE of choice is <a href="http://www.jetbrains.com/phpstorm/">PHPStorm</a>, he shows how to set up the remote debugging to work and reply back as the script is executed.
</p>]]></description>
      <pubDate>Tue, 18 Sep 2012 10:10:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Juan Treminio's Blog: Xdebug and You: Why You Should be Using a Real Debugger]]></title>
      <guid>http://www.phpdeveloper.org/news/18183</guid>
      <link>http://www.phpdeveloper.org/news/18183</link>
      <description><![CDATA[<p>
If you've been working with PHP for any length of time, you know that one of the issues the language has shows up when you're trying to debug your applications. Thankfully, as <a href="http://jtreminio.com/2012/07/xdebug-and-you-why-you-should-be-using-a-real-debugger/">Juan Treminio points out</a>, there's a better way - <a href="http://xdebug.org/">Xdebug</a>.
</p>
<blockquote>
Xdebug is a PHP extension that was written and is maintained by Derick Rethans. It provides debugging and profiling capabilities, although I'll be mostly focusing on the debugging aspects in this tutorial. With it you can set a breakpoint and pause the execution of a script to see the state of your application at that exact point, including what variables/objects have been instantiated and what their values are. Xdebug completely replaces the need to litter your code with echo, print_r() or var_dump() calls, and displays information on all variables, not just the one you passed.
</blockquote>
<p>
He talks some about the current state of IDE/editor support for the tool and shows how to get it installed and your php.ini configured to use it. XDebug make it easy to turn on/off debugging thanks to a handy browser-based switch. He links to <a href="http://www.jetbrains.com/phpstorm/marklets/">a bookmarklet</a> you can use to make it a one-click operation. He includes the setup for using the debugging in PHPStorm, but it's pretty similar for most of the IDEs out there.
</p>]]></description>
      <pubDate>Thu, 05 Jul 2012 08:52:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Markus Pullmann's Blog: Remote Debugging in PHP with XDebug]]></title>
      <guid>http://www.phpdeveloper.org/news/17554</guid>
      <link>http://www.phpdeveloper.org/news/17554</link>
      <description><![CDATA[<p>
<i>Markus Pullmann</i> has a new post to his blog about <a href="http://www.pullmann-is.org/2012/02/16/remote-debugging-in-php-with-xdebug/">setting up XDebug</a> in your PHP installation to help you narrow down those elusive issues more quickly.
</p>
<blockquote>
Debugging locally is a nice improvement to have no debugger at all, but in many situations there is the need to debug on production server, where the application is running on the web. There are different reasons for that, but the most important one for me is, that my local environment / installation is different from the one i have on servers in data center and bugs can be related to the environment.
</blockquote>
<p>
He walks you through the installation and server-side configuration of XDebug first then shows how to install the <a href="http://code.activestate.com/komodo/remotedebugging/">Komodo Remote Debugging Client</a> to help with multi-user debugging setups. He mentions setting up the debugging on the client/IDE side, but there's no specific instructions for any particular IDE - just how it works overall.
</p>]]></description>
      <pubDate>Fri, 17 Feb 2012 08:45:29 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: Remote Debugging PHP with a Firewall in the Way]]></title>
      <guid>http://www.phpdeveloper.org/news/16779</guid>
      <link>http://www.phpdeveloper.org/news/16779</link>
      <description><![CDATA[Sometime debugging PHP applications isn't as easy as just pointing your IDE directly at the server and starting to work. <i>Derick Rethans</i> has a new post talking about one such situation, <a href="http://derickrethans.nl/debugging-with-xdebug-and-firewalls.html">remote debugging with a firewall in between</a> you and the remote machine with <a href="http://xdebug.org">XDebug</a>.
</p>
<blockquote>
The PHP debugging extension Xdebug has "remote" debugging capabilities for single-step debugging PHP applications. This works by setting your favourite IDE into listening mode and instructing Xdebug (with one of the handy browser extensions for example) to initiate debugging. [...] There could however be a firewall in the way that prevents Xdebug connecting directly to your IDE's IP address. That can be because the network you are on employs NAT. [...]  In this case, there is no way Xdebug can connect to your IDE's IP address and port. Or is there?
</blockquote>
<p>
His alternative requires <a href="http://en.wikipedia.org/wiki/Secure_Shell">SSH access</a> to the remote machine - building a tunnel from your local machine to the remote server XDebug can use to get around the firewall. He explains the shell command to set up the tunnel and, a more graphical way, through the <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">Putty</a> ssh/telnet client. A quick call to "netstat" can tell you if things are working correctly or not. All that's left then is to point your XDebug to the port on the localhost and you should be good to go on debugging.
</p>]]></description>
      <pubDate>Fri, 26 Aug 2011 11:24:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Karsten Dambekalns' Blog: PHP, Xdebug and PhpStorm - working!]]></title>
      <guid>http://www.phpdeveloper.org/news/15883</guid>
      <link>http://www.phpdeveloper.org/news/15883</link>
      <description><![CDATA[<p>
<i>Karsten Dambekalns</i> has a new post to his blog today about how he was able to get the PHP IDE PHPStorm and XDebug <a href="http://blog.k-fish.de/2011/02/php-xdebug-and-phpstorm-working.html">working together</a> to do some debugging in his application.
</p>
<blockquote>
<a href="http://www.jetbrains.com/phpstorm/">PhpStorm</a> had it's share of trouble as well [with debugging], but yesterday I experienced a working debug session. Just like that, deep variable inspection and stepping through the code just worked. Today I looked into CLI debugging because <a href="http://www.robertlemke.de/">Robert</a> needed that for some complicated <a href="http://flow3.typo3.org/">FLOW3</a> task. Also works, although it requires one step that should not be needed.
</blockquote>
<p>
He points out the environment he's using and the two methods/setups he has for debugging - working through the browser and debugging command line scripts with the same tool. Some screenshots are included to help you be sure you're in the right place to change the settings.
</p>]]></description>
      <pubDate>Thu, 10 Feb 2011 08:18:02 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: Kint - Advanced Output for Debugging ]]></title>
      <guid>http://www.phpdeveloper.org/news/15799</guid>
      <link>http://www.phpdeveloper.org/news/15799</link>
      <description><![CDATA[<p>
One of the more difficult parts of development is debugging. Any tool that can help make your bug finding life simpler can be valuable. <i>Raveren</i> has submitted a new tool he's developed to make outputting your debugging information more useful - <a href="http://code.google.com/p/kint/">Kint</a>.
</p>
<blockquote>
 It's basically a heavily improved var_dump and debug_backtrace version with some advanced behind the scenes action. The features description is in the google code page: <a href="http://code.google.com/p/kint/">http://code.google.com/p/kint/</a> but the interesting part is that this is the only dump tool, that can display the name of the dumped variable as well as use modifiers on the calling function.
</blockquote>
<p>
The flow is traced back to its origin class/script and a token parser is used to find where the value was created. You can see a sample of how to use it over on its <a href="http://code.google.com/p/kint/">Google Code</a> page. This also includes screenshots of the output and the configuration values you can set for things like a display path callback and the maximum number of levels to traverse through. You can download the current version <a href="http://code.google.com/p/kint/downloads/detail?name=Kint-v1.rar">here</a>.
</p>]]></description>
      <pubDate>Tue, 25 Jan 2011 08:16:09 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Four Sane Solutions for PHP Debugging]]></title>
      <guid>http://www.phpdeveloper.org/news/15388</guid>
      <link>http://www.phpdeveloper.org/news/15388</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's a new article from <i>Jason Gilmore</i> sharing what he calls "four sane solutions" to help you debug your PHP applications better than just an <a href="http://php.net/echo">echo</a> or <a href="http://php.net/var_dump">var_dump</a>.
</p>
<blockquote>
Few tasks are more tedious and frustrating than debugging a Web application. [...] Fortunately, PHP developers have a number of powerful debugging solutions at their disposal. Whether you're merely inspecting array contents or attempting to determine the status of an Ajax-driven POST response, these four solutions are guaranteed to have an immediate impact on your productivity.
</blockquote>
<p>
His four solutions involve changing the error reporting level on your development environment higher than production to catch issues that might slip through unnoticed, using <a href="http://xdebug.org">XDebug</a>, integrating <a href="http://www.firephp.org/">FirePHP</a> and using <a href="http://www.webopedia.com/TERM/T/test_driven_development.html">test-driven development</a> to be sure things work from the outset.
</p>]]></description>
      <pubDate>Fri, 05 Nov 2010 08:41:28 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Windows IIS Blog:  Debugging WINCACHE on Windows using Visual Studio - Basic]]></title>
      <guid>http://www.phpdeveloper.org/news/13734</guid>
      <link>http://www.phpdeveloper.org/news/13734</link>
      <description><![CDATA[<p>
On the Windows IIS blog today <i>Don Raman</i> <a href="http://blogs.iis.net/donraman/archive/2009/12/09/debugging-wincache-on-windows-using-visual-studio-basic.aspx">looks at debugging WinCache</a> (the Windows caching tool with hooks into PHP) with Visual Studio - Basic in the FastCGI version on IIS.
</p>
<blockquote>
I am planning to write a series of blog post which will be helpful in debugging WINCACHE. This is just the beginning. So please be patient and forgive me if some of the posts sound for novice user. All my post will assume that you are debugging PHP CGI running under IIS using FastCGI. This means using the non thread safe version of PHP/WINCACHE and IIS running PHP files successfully. I believe the same can be applied to thread safe version of WINCACHE/PHP running under Apache but I do not guarantee that.
</blockquote>
<p>
He mentions his build environment, what you'll need as far as software to debug and the WinCache source to build from. He includes brief instructions on building WinCache (vis Visual Studio) and how to set up the debugging for the PHP CGI. You can then attach the debugger in Visual Studio to the CGI instance and keep a watchful eye on it. You could also use the <a href="http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx">Windows Debugging Tools</a> to do most of the same work.
</p>]]></description>
      <pubDate>Mon, 28 Dec 2009 11:51:39 -0600</pubDate>
    </item>
  </channel>
</rss>
