<?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>Thu, 20 Nov 2008 10:28:00 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Tony Bibbs' Blog: Cutting Use of Zend_Log in Half]]></title>
      <guid>http://www.phpdeveloper.org/news/10310</guid>
      <link>http://www.phpdeveloper.org/news/10310</link>
      <description><![CDATA[<p>
<i>Tony Bibbs</i> has posted a <a href="http://www.tonybibbs.com/article.php/Cutting-Use-of-Zend_Log-in-Half">mini-case study</a> about how, at his work, they cut their use of the Zend_Log component of the <a href="http://framework.zend.com">Zend Framework</a> in half:
</p>
<blockquote>
As part of the framework we use at work, we borrow what we feel are the best components out there and logging is a key part of that. Logging should be simple to setup, easy to use and should minimize work on the developer. After all, you are going to do a lot of logging, right?
</blockquote>
<p>
He shows how, with a few changes to how they log (creation of a custom logger), it reduces the number of calls to load a Zend_Registry object each time something needs to be recorded. His code is <a href="http://www.tonybibbs.com/article.php/Cutting-Use-of-Zend_Log-in-Half">included</a> in the post along with examples of it in action.
</p>]]></description>
      <pubDate>Fri, 30 May 2008 15:24:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ilia Alshanetsky's Blog: mail() logging for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/6891</guid>
      <link>http://www.phpdeveloper.org/news/6891</link>
      <description><![CDATA[<p>
In his <a href="http://ilia.ws/archives/149-mail-logging-for-PHP.html">latest blog entry</a>, <i>Ilia Alshanetsky</i> has proposed (and provided) a patch that can help with one of the more abused of the popular PHP functions out there - mail().
</p>
<blockquote>
One of the problems with solving the mail() abuse is figuring out who is doing it or perhaps what script was exploited to do it, since the mail() function does not offer any logging mechanism.
</blockquote>
<p>
To address this problem, he's supplied <a href="http://ilia.ws/uploads/patches/mail_log.txt.gz">this patch</a> you can apply to your source to add two new options to the mail function:
<ul>
<li>enable the addition of the X-PHP-Originating-Script header
<li>mail.log (takes a filename) allows you to enable logging of every single mail() call
</ul>
Check out <a href="http://ilia.ws/archives/149-mail-logging-for-PHP.html">his entry</a> for more details on configuration options and other functionality included with the patch.
</p>]]></description>
      <pubDate>Wed, 13 Dec 2006 16:56:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[ThinkPHP Blog: Oracle with PHP and PDO]]></title>
      <guid>http://www.phpdeveloper.org/news/6593</guid>
      <link>http://www.phpdeveloper.org/news/6593</link>
      <description><![CDATA[<p>
In his <a href="http://blog.thinkphp.de/archives/153-Oracle-with-PHP-and-PDO.html">latest post</a> on the ThinkPHP blog, <i>Andreas Uhsemann</i> steps through a simple conversion he made from using a MySQL database with his application to using PDO on an Oracle system.
</p>
<blockquote>
At first, one would notice that nothing was happening at all. Just a white screen, and no entries in the error log. Even if one turns on error messages explicitly (you never know the current php.ini settings) with error_reporting(E_ALL), nothing is changing.
</blockquote>
<p>
He had the connection all set up (manual tnsnames entry and all), but there was something wrong and he couldn't see it. After changing the error reporting level (to no avail), he went for PDO's error handling. The result was an "invalid character" error from the extra semi-colon on the end of the statement.
</p>]]></description>
      <pubDate>Fri, 27 Oct 2006 10:35:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: Application-level Logging with the Zend Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/6215</guid>
      <link>http://www.phpdeveloper.org/news/6215</link>
      <description><![CDATA[<p>
php|architect's A/R/T article repository has <a href="http://hades.phparch.com/ceres/public/article/index.php/art::zend_framework::application_level_logging">a new tutorial</a> posted today with a look at logging in your application (the entire application) with the help of the Zend Framework by <i>Stefan Koopmanschap</i>.
</p>
<blockquote>
There are different reasons for logging information, different strategies for what and how to log, and of course different ways of implementing it. This article will look at why you would want to log, what you want to log and how to do it.
</blockquote>
<p>
They <a href="http://hades.phparch.com/ceres/public/article/index.php/art::zend_framework::application_level_logging">introduce  application-level logging</a>, how it can help, what it can show you, and how it can make finding security issues even easier. They get into the code a bit later on, showing how to use the Zend file functionality to write out to a simple log file. They enhance it with a bit more information in the message, and show how to set a prefix/suffix to each line automatically (like a timestamp and a newline).
</p>]]></description>
      <pubDate>Thu, 07 Sep 2006 07:22:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: Pimpin Harry's pretty bluescreen]]></title>
      <guid>http://www.phpdeveloper.org/news/6013</guid>
      <link>http://www.phpdeveloper.org/news/6013</link>
      <description><![CDATA[<p>
On the SitePoint PHP blog today, <i>Maarten Manders</i> <a href="http://www.sitepoint.com/blogs/2006/08/12/pimpin-harrys-pretty-bluescreen/">talks about</a> some updates he made to the "<a href="http://www.phpdeveloper.org/news/5110">pretty blue screen</a>" created originally by <i>Harry Fuecks</i> to handle more error types.
</p>
<blockquote>
<p>
I modified it to handle errors as well and added some features which make it useful in productive systems as well: Error logging, Error Mailing, and Configuration.
</p>
<p>
The script logs or mails unique errors only once to prevent your log file or mailbox to be spammed with the same error again and again. It also takes care of the error level including <a href="http://www.php.net/manual/en/language.operators.errorcontrol.php">shutup operator</a>. It's a little bit hacky but did well on our dev servers (where errors tend to happen) in the past few weeks.
</p>
</blockquote>
<p>
The link to grab this latest version of a handy bit of functionality is <a href="http://svn.students.ch/bluescreen-public/trunk/">here</a> - two different files, one for the error handler and one for the exception handler. He also includes a sample code snippet of how to use it.
</p>]]></description>
      <pubDate>Fri, 11 Aug 2006 14:13:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: AspectPHP]]></title>
      <guid>http://www.phpdeveloper.org/news/5010</guid>
      <link>http://www.phpdeveloper.org/news/5010</link>
      <description><![CDATA[As was mentioned in <a href="http://www.phpdeveloper.org/news/4833">one of his previous blog posts</a>, <i>Sebastian Bergmann</i> has been working up his own PHP version of an aspect-oriented framework. According to <a href="http://www.sebastian-bergmann.de/blog/archives/589-AspectPHP.html">this new post</a>, he's already done some work on <a href="http://www.sebastian-bergmann.de/AspectPHP/">the project</a> and has created a page with more information.
<p>
<quote>
<i>
As I wrote earlier, I am not satisfied with the <a href="http://www.sebastian-bergmann.de/blog/archives/573-Current-State-of-AOP-for-PHP.html">Current State of AOP for PHP</a> and started to work on <a href="http://www.sebastian-bergmann.de/AspectPHP/">AspectPHP</a> a while ago. Today I am going to share my ideas on the subject.
<p>
What sets AspectPHP apart from other implementations of <a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming">Aspect-Oriented Programming</a> is its simplicity: aspects are plain PHP classes that declare <a href="http://en.wikipedia.org/wiki/Pointcut">pointcuts</a> using <a href="http://en.wikipedia.org/wiki/Annotation">annotations</a>.
</i>
</quote>
<p>
He <a href="http://www.sebastian-bergmann.de/blog/archives/589-AspectPHP.html">gives an example</a> of this kind of functionality, including a bit of code to illustrate. The example logs all method calls and, in this case, simply outputs them to the browser.
<p>
Unfortunately, he also mentions that, at this time, he doesn't have any code for the framework that he can release, but you can check out <a href="http://www.sebastian-bergmann.de/AspectPHP/">the site he's created</a> for more information.]]></description>
      <pubDate>Mon, 20 Mar 2006 06:54:17 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPit.net: Handling passwords safely in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/4800</guid>
      <link>http://www.phpdeveloper.org/news/4800</link>
      <description><![CDATA[PHPit.net is back today with <a href="http://www.phpit.net/article/handling-passwords-safely-php/">another new tutorial</a> - this time it concerns the safe handling of passwords in your PHP scripts.
<p>
<quote>
<i>
If you're ever going to create a script that involves users or passwords, which is very likely, you'll probably run across security issues with handling the passwords. You can't just store the passwords in clear text in your database, and great care must be used when managing the passwords (for example during login).
<p>
In this article I will show you everything that you have to think about when handling passwords in PHP, and how to solve some common problems.
</i>
</quote>
<p>
They <a href="http://www.phpit.net/article/handling-passwords-safely-php/">offer suggestions</a> like storying them hashed (md5 or sha1), protecting them with a salt, SSL certificates, and how to manage their use with things like cookies and sessions.]]></description>
      <pubDate>Mon, 06 Feb 2006 07:17:10 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Graphical Logging in PHPUnit 3]]></title>
      <guid>http://www.phpdeveloper.org/news/4781</guid>
      <link>http://www.phpdeveloper.org/news/4781</link>
      <description><![CDATA[On his blog today, <i>Sebastian Bergmann</i> has posted <a href="http://www.sebastian-bergmann.de/blog/archives/569-Graphical-Logging-in-PHPUnit-3.html">this quick entry</a> about a cool feature of the upcoming version of <a href="http://www.phpunit.de/">PHPUnit</a> - a graphical representation of the test execution.
<p>
<quote>
<i>
Another new feature of the next version of PHPUnit is the ability to generate a graphical visualization of the test execution using GraphViz.
<p>
This graph (SVG version), for example, shows the graphical visualization for the execution of the tests declared in the MoneyTest sample that comes with PHPUnit.
</i>
</quote>
<p>
The MoneyTest sample <a href="http://www.sebastian-bergmann.de/blog/archives/569-Graphical-Logging-in-PHPUnit-3.html">mentioned</a> comes with the PHPUnit download, but the code was altered to cause it to fail. You can see the result in <a href="http://www.sebastian-bergmann.de/blog/uploads/money_graphviz.png">this graphic</a>...]]></description>
      <pubDate>Thu, 02 Feb 2006 06:47:07 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP Security Blog: How you should never configure your logging in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/4453</guid>
      <link>http://www.phpdeveloper.org/news/4453</link>
      <description><![CDATA[From the PHP Security Blog today, there's <a href="http://blog.php-security.org/archives/24-How-you-should-never-configure-your-logging-in-PHP.html">this look</a> at a way to not configure your logging in PHP - some issues that he points out in the examples from the recent "Essential PHP Security" book.
<p>
<quote>
<i>
Today I had the pleasure to look at code examples from a recently released book. I guess readers of my blog know exactly what book I am referring to.
<p>
I will only cover the first 2 code examples that explain how to configure and use PHP's logging capabilities for now because they [...] reveal some nice insights.
</i>
</quote>
<p>
The <A href="http://blog.php-security.org/index.php?url=archives/24-How-you-should-never-configure-your-logging-in-PHP.html&serendipity[csuccess]=true#feedback">first example</a> he talks about some issues with using ini_set to put the errors logged in the Apache error_log. His issue with the method being the permissions on the log file (assuming a "sane configured webserver"). The second issue is in another example, one that tries the same logging method, but uses the set_error_handler method to do so...]]></description>
      <pubDate>Wed, 07 Dec 2005 07:27:28 -0600</pubDate>
    </item>
  </channel>
</rss>
