<?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>Sun, 07 Sep 2008 03:03:55 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Andreas Gohr's Blog: Understanding PHP code better with Xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/9685</guid>
      <link>http://www.phpdeveloper.org/news/9685</link>
      <description><![CDATA[<p>
<i>Andreas Gohr</i> has a <a href="http://www.splitbrain.org/blog/2008-02/21-understanding_php_code_better_with_xdebug">new blog post</a> today that talks about a way to really get to know your code better - use XDebug to see it from the inside out.
</p>
<blockquote>
<a href="http://xdebug.org/">Xdebug</a> is a PHP extension which helps you to understand, debug and profile PHP. It can help you to find bottlenecks or give you an quick overview what happens in code you aren't familiar with, yet.
</blockquote>
<p>
<a href="http://www.splitbrain.org/blog/2008-02/21-understanding_php_code_better_with_xdebug">The post</a> gives a brief overview of the installation of the extension (building a shared module) and shows how to get started with profiling an application. He talks about the <a href="http://valgrind.org/info/tools.html#cachegrind">cachegrind</a> tool you can use to parse the results and the <a href="http://kcachegrind.sourceforge.net/cgi-bin/show.cgi">kcachegrind</a> app that will make the results a bit more visual.
</p>
<p>
As a bonus, he also throws in a bit about function tracing - picking out each small bit of functionality in the code (the function/methods) and gathering stats for each.
</p>]]></description>
      <pubDate>Fri, 22 Feb 2008 09:14:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Samisa Abeysinghe's Blog: Tracing SOAP Messages (and Installing via PECL)]]></title>
      <guid>http://www.phpdeveloper.org/news/9377</guid>
      <link>http://www.phpdeveloper.org/news/9377</link>
      <description><![CDATA[<p>
On his blog today, <i>Samisa Abeysinghe</i> points out a library that can be used to trace the SOAP messages going back and forth between your client and server - the <a href="http://wso2.org/projects/wsf/php">WSO2 Web services framework for PHP</a>.
</p>
<blockquote>
The Web services client class, <a href="http://wso2.org/project/wsf/php/1.2.0/docs/api_content.html#client">WSClient</a> has two methods for this, getLastRequest() and getLastResponse(). After calling the request() method of the client instance, you can call any of those methods to gain access to the messages.
</blockquote>
<p>
Simple example code is included showing how to grab that information from the client object. If you're looking for a way to get the WSF/PHP functionality installed on your system, check out <a href="http://nandikajayawardana.blogspot.com/2008/01/using-pecl-tool-to-install-wsfphp.html">this step-by-step tutorial</a> on using the PECL tool to create and install the packages to your PHP setup.
</p>]]></description>
      <pubDate>Tue, 08 Jan 2008 13:49:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Tracing PHP Applications with xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/9318</guid>
      <link>http://www.phpdeveloper.org/news/9318</link>
      <description><![CDATA[<p>
Continuing on from <a href="http://www.phpdeveloper.org/news/9209">the previous part</a> of his series, <i>Stefan Priebsch</i> has posted <a href="http://devzone.zend.com/article/2871-Tracing-PHP-Applications-with-xdebug">part two</a> of his look at using XDebug over at the Zend Developer Zone.
</p>
<blockquote>
Welcome to the second installment of our five-part series of articles on xdebug, the PHP developer's swiss army knife extension. The installation of xdebug and its basic features were covered last week. This week, we will explore the tracing feature of xdebug.
</blockquote>
<p>
He details what tracing is and how it's helpful (no more repetitive var_dumps!) in finding issues in your code. He shows how to set up a trace log, add the code to your application to pass debugging information off to the log and how to add additional information to the log to make narrowing down the error even easier.
</p>]]></description>
      <pubDate>Thu, 27 Dec 2007 09:31:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Introducing xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/9209</guid>
      <link>http://www.phpdeveloper.org/news/9209</link>
      <description><![CDATA[<p>
On the Zend Developer Zone today, <i>Stefan Priebsch</i> has written up <a href="http://devzone.zend.com/article/2803-Introducing-xdebug">an article</a> introducing fellow developers to XDebug, a popular PHP debugging suite.
</p>
<blockquote>
This article is the first installment of a five-part series of articles covering xdebug, a free and open source swiss army knife tool for PHP developers. <a href="http://www.xdebug.org/">xdebug</a> is a PHP extension created by Derick Rethans, one of the PHP core developers. This week, we will show you how to install xdebug and introduce you to some of the basic features. In the subsequent parts of this article series, we will have a closer look at one of xdebug's main features, namely tracing, profiling, debugging, and code coverage.
</blockquote>
<p>
In <a href="http://devzone.zend.com/article/2803-Introducing-xdebug">this first installment</a>, he looks at installing the software (both on a unix-based system and on a Windows box) and how to turn it on to work with your web server. He also mentions some of the error output options including the "new and improved" var_dump call and the stack trace method to help you locate exactly where in the code the error's hidden.
</p>]]></description>
      <pubDate>Mon, 10 Dec 2007 12:56:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Tony Freixas's Blog: High-performance debugging]]></title>
      <guid>http://www.phpdeveloper.org/news/8733</guid>
      <link>http://www.phpdeveloper.org/news/8733</link>
      <description><![CDATA[<p>
<i>Tony Freixas</i> has <a href="http://www.tigerheron.com/article/2007/09/high-performance-debugging">posted a new article</a> covering his thoughts on high-performance debugging with PHP5:
</p>
<blockquote>
In this article, I will show you how to use PHP 5 input filters to support debug, trace and assert statements so that a one-line change disables these statements and restores your script to full production performance.
</blockquote>
<p>
He makes a custom solution, a simple method for just outputting simple debug statements via his own custom debugging classes - thDebug, theTrace and thAssert. He wraps all of these in a thDebugManager class to make them all play nice together.
</p>
<p>
With these in place, he moves on to the real key to the debugger, using the input filter extension that comes with PHP5. He makes a thAbstractStreamFilter abstract class to base the filtering on and, using this interface, makes his thDebugFilter class to handle the various debugging outputs. He uses the __autoload functionality to load it correctly into each page that needs it.
</p>]]></description>
      <pubDate>Wed, 26 Sep 2007 12:59:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Internet Super Hero Blog: Debugging ext/mysqli and mysqlnd]]></title>
      <guid>http://www.phpdeveloper.org/news/8571</guid>
      <link>http://www.phpdeveloper.org/news/8571</link>
      <description><![CDATA[<p>
With all of the good news they've posted about the mysqlnd driver, the developers behind the Internet Super Hero blog know that there will be bugs that come up in the driver. So, they've <a href="http://blog.ulf-wendel.de/?p=159">addressed the right way</a> to find and deal with these issues in a new blog entry.
</p>
<blockquote>
he bad news: mysqlnd might have bugs. How to report and debug these bugs - using mysqli_debug() - is subject of this posting.
</blockquote>
<p>
They <a href="http://blog.ulf-wendel.de/?p=159">step you through</a> the process for finding out what's causing the problems (internal versus external debugging) and how to make client traces with the mysqi extension to make it even easier for the developers to track down the problem. They also suggest a few things to send along with your bug report - like the PHP code calling it or the SQL you're using to select/update/insert/delete the data from your database.
</p>]]></description>
      <pubDate>Mon, 03 Sep 2007 08:56:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: Pimping Xdebug stack traces]]></title>
      <guid>http://www.phpdeveloper.org/news/6439</guid>
      <link>http://www.phpdeveloper.org/news/6439</link>
      <description><![CDATA[<p>
Bothered by the ugly way Xdebug stack traces were turing out, <i>Derick Rethans</i> has <a href="http://derickrethans.nl/pimping_xdebug_stack_traces.php">created a script</a> to fix that.
</p>
<blockquote>
I've always been annoyed by the way how Xdebug's stack traces looked liked. So I spend some time on making them look better. I will show the differences according to the following script.
</blockquote>
<p>
The <a href="http://derickrethans.nl/pimping_xdebug_stack_traces.php">simple script</a> takes the output and adds a bit of formatting, stripping down the information to make it a bit more clear. Check out the <a href="http://derickrethans.nl/images/content/old.scaled.png">before</a> and <a href="http://derickrethans.nl/images/content/new.scaled.png">after</a> shots to see the difference.
</p>]]></description>
      <pubDate>Fri, 06 Oct 2006 08:41:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[ThinPHP Blog: Understanding successful tracing of security vulnerabilities]]></title>
      <guid>http://www.phpdeveloper.org/news/6326</guid>
      <link>http://www.phpdeveloper.org/news/6326</link>
      <description><![CDATA[<p>
In <a href="http://blog.thinkphp.de/archives/142-Understanding-successful-tracing-of-security-vulnerabilities.html">this new post</a> on the ThinkPHP blog, there's more talk about their <a href="https://chorizo-scanner.com/">Chorizo!</a> security scanner and how, with a little help from their Morcilla product, you can find problems easily. Now, interpreting them is another matter, so they show you a simple way to determine just what went wrong.
</p>
<blockquote>
Sometimes it's not very easy to check if a vulnerability occured where Morcilla told you it occured. In order to pinpoint this issue, it is neccessary that you get a deeper look to the callstack of all the functions that were involved calling the SQL abstraction layer.
</blockquote>
<p>
They <a href="http://blog.thinkphp.de/archives/142-Understanding-successful-tracing-of-security-vulnerabilities.html">include a screenshot</a> of how the functionality will (in the upcoming version) work in the case of a MySQL SQL injection problem.
</p>]]></description>
      <pubDate>Thu, 21 Sep 2006 07:34:33 -0500</pubDate>
    </item>
  </channel>
</rss>
