<?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 03:49:28 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DZone.com: PHP Performance Crash Course, Part 1: The Basics]]></title>
      <guid>http://www.phpdeveloper.org/news/19708</guid>
      <link>http://www.phpdeveloper.org/news/19708</link>
      <description><![CDATA[<p>
In a recent post to DZone.com <i>Dustin Whittle</i> talks about performance in PHP applications and <a href="http://java.dzone.com/articles/php-performance-crash-course">gives you a crash course</a> on some of the basics around it (this is part one of a series).
</p>
<blockquote>
We all know performance is important, but performance tuning is too often an afterthought. As a result, taking on a performance tuning project for a slow application can be pretty intimidating - where do you even begin? In this series I'll tell you about the strategies and technologies that (in my experience) have been the most successful in improving PHP performance. To start off, however, we'll talk about some of the easy wins in PHP performance tuning. These are the things you can do that'll get you the most performance bang for your buck, and you should be sure you've checked off all of them before you take on any of the more complex stuff.
</blockquote>
<p>
He talks some about why performance matters and some of the more common practices to introduce immediate performance improvements into your application. His list includes things like: update PHP, use an opcode cache, use autoloading and session optimization. He also talks about using processing queues for blocking work and learning how to use code profiling tools to find the pain points.
</p>
Link: http://java.dzone.com/articles/php-performance-crash-course]]></description>
      <pubDate>Wed, 12 Jun 2013 14:56:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[7PHP.com: PHP Interview With Vito Chin Lead Maintainer Of Gmagick Extension For PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19697</guid>
      <link>http://www.phpdeveloper.org/news/19697</link>
      <description><![CDATA[<p>
On 7PHP.com there's a new community interview posted - this time <a href="http://7php.com/php-interview-vito-chin/">with Vito Chin</a>, the maintainer of the Gmagick extension for PHP.
</p>
<blockquote>
In this edition I talked with Vito Chin who is a multi-talented, cool geek; <a href="https://twitter.com/vitoc">@vitoc</a> has a first class honors degree in Software Engineering, is a co-founder of <a href="http://lentor.io/">lentor.io</a>, is the lead maintainer of the <a href="http://php.net/manual/en/book.gmagick.php">Gmagick extension for PHP</a> and is the co-author of the PHP book "<a href="http://7php.com/recommended-book/book.php?b=PHP-Development-Cloud-Ivo">PHP Development in the Cloud by Ivo Jansch and Vito Chin</a>" - (btw <a href="http://7php.com/php-interview-rafael-dohms/">Rafael Dohms</a>, our Brazilian PHP Ronaldo made a <a href="http://blog.doh.ms/2011/08/05/php-development-in-the-cloud-by-ivo-jansch-and-vito-chin/">review of that book here</a>). I invite you to learn from Vito's PHP and programming experience..
</blockquote>
<p>
In the interview they talk about things like <i>Vito</i>'s experience, how he got started with PHP and his advice to those wanting to become better developers. There's also a section talking in more detail about performance and how important it is to a project. 
</p>
Link: http://7php.com/php-interview-vito-chin]]></description>
      <pubDate>Mon, 10 Jun 2013 13:50:28 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Deshong: Top Ten List + CoderFaire Atlanta 2013]]></title>
      <guid>http://www.phpdeveloper.org/news/19454</guid>
      <link>http://www.phpdeveloper.org/news/19454</link>
      <description><![CDATA[<p>
<i>Brian Deshong</i> has a new post to his site sharing some of the content (videos) from his upcoming <a href="http://atlanta.coderfaire.com/">CoderFaire Atlanta</a> (April 20th) talk about web application performance that he's learned over his years in development.
</p>
<blockquote>
Back in March, I gave a new talk at <a href="http://atlantaphp.org/">Atlanta PHP</a>: "Top Ten List: PHP and Web Application Performance". This talk is a culmination of my ~14 years of experience primarily as a web application developer, but also as a systems administrator / DevOps-type.  After working with PHP and web applications for so many years, I have amassed quite a few tricks for squeezing maximum performance out of web applications, PHP or otherwise.
</blockquote>
<p>
The tips are presented by various people from around the web development (and PHP) community and relate to things like:
</p>
<ul>
<li>Realpath cache settings
<li>Using offline processing
<li>Optimized queries
<li>Gzipping responses
<li>Caching everything
<li>Using a content delivery network
</ul>
<p>
If you'd like to see <i>Brian</i> present the full talk, there's still time to get your ticket for CoderFaire - they're <a href="http://cfa13.eventbrite.com/">only $50 USD for the two day event</a>.
</p>
Link: http://www.deshong.net/2013/04/top-ten-list-coderfaire-atlanta-2013]]></description>
      <pubDate>Fri, 12 Apr 2013 12:27:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Systems Architect Blog: Apache2 vs Nginx for PHP application]]></title>
      <guid>http://www.phpdeveloper.org/news/19382</guid>
      <link>http://www.phpdeveloper.org/news/19382</link>
      <description><![CDATA[<p>
On the Systems Architect blog there's a recent post from <i>Lukasz Kujawa</i> about <a href="http://systemsarchitect.net/apache2-vs-nginx-for-php-application/">comparing Apache2 and Nginx</a> for PHP applications, specifically when using the PHP-FPM module. His tests are based on the results from three different application types - a large Zend Framework 1 app, a small PHP script and a WordPress installation.
</p>
<blockquote>
If you've ever been trying to squeeze more out of hardware you must have come across <a href="http://nginx.org/en/">Nginx</a> (engine x). Nginx usually appears in context of PHP-FPM (FastCGI Process Manager) and APC (Alternative PHP Cache). This setup is often pitched to be the ultimate combo for a web server but what that really means? How much faster a PHP application is going to be on a different web server? I had to check it and the answer as often is - that depends.
</blockquote>
<p>
He ran the tests on an Amazone EC2 instance and optimized the server to ensure that there was a little interference as possible. The used the Zend Optimizer Plus opcode cache and PHP 5.4 and set the logs to go to memory instead of disk. Graphs included in the post show the results of the benchmarking of each application, with the differences (in most cases) not being that wide of a gap.
</p>
<blockquote>
There isn't big difference between Apache2 and Nginx in PHP context. Yes, Nginx can be much faster when delivering static content but it won't speed up PHP execution. Running a PHP script seams to be so CPU challenging task that it completely eclipse any gain from a web server.
</blockquote>]]></description>
      <pubDate>Fri, 29 Mar 2013 10:41:38 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Inviqa techPortal: New Relic for PHP: Web Application Performance Monitoring]]></title>
      <guid>http://www.phpdeveloper.org/news/19318</guid>
      <link>http://www.phpdeveloper.org/news/19318</link>
      <description><![CDATA[<p>
On the Inviqa techPortal today there's a new post talking about the New Relic monitoring service and what it has to <a href="http://techportal.inviqa.com/2013/03/14/new-relic-for-php-web-application-performance-monitoring/">offer PHP developers and their applications</a> to help them manage things like performance and resources.
</p>
<blockquote>
The performance of a web application plays a critical role in how an application is perceived by its users. It is important to measure it, identify the causes if it changes and react swiftly to any unexpected changes. This article describes an industry leading tool, New Relic, and how it can be used to monitor and improve your site performance. [...] New Relic is a real-time application monitoring service, providing various metrics about the performance of your production site, covering everything from application database queries through to the time it takes for the end-user to view a page. 
</blockquote>
<p>
They walk you through a "getting started" with the tool and how to get it running on your server - for PHP this means installing an "agent" extension and a local daemon for it to feed information back to. They then get into some of the data New Relic provides including application performance details, browser information, throughput and an <a href="https://en.wikipedia.org/wiki/Apdex">Apdex</a> score.
</p>]]></description>
      <pubDate>Fri, 15 Mar 2013 10:10:56 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin Schroeder: Why you should not use .htaccess (AllowOverride All) in production]]></title>
      <guid>http://www.phpdeveloper.org/news/19232</guid>
      <link>http://www.phpdeveloper.org/news/19232</link>
      <description><![CDATA[<p>
<i>Kevin Schroeder</i> has <a href="http://www.eschrade.com/page/why-you-should-not-use-htaccess-allowoverride-all-in-production/">posted the results of some research</a> he did around using the "AllowOverride" setting in Apache. He found some interesting differences when it was set to "all".
</p>
<blockquote>
Commonly known as .htaccess, AllowOverride is a neat little feature that allows you to tweak the server's behavior without modifying the configuration file or restarting the server. [...] Beyond the obvious security problems of allowing configuration modifications in a public document root there is also a performance impact.  What happens with AllowOverride is that Apache will do an open() call on each parent directory from the requested file onward.
</blockquote>
<p>
He includes the output from a <a href="http://en.wikipedia.org/wiki/Strace">strace</a> call in the post - first showing the function calls with it set to "none" then the same request with the setting on "all". More "open" calls are being made in the second run, increasing the execution time by a decent amount.
</p>]]></description>
      <pubDate>Mon, 25 Feb 2013 10:31:09 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Lately in PHP, Episode 32 - Zend Optimizer+ Cache in PHP 5.5 & MySQL 5.6]]></title>
      <guid>http://www.phpdeveloper.org/news/19150</guid>
      <link>http://www.phpdeveloper.org/news/19150</link>
      <description><![CDATA[<p>
On PHPClasses.org today they've posted the latest episode of their "Lately in PHP" podcast, <a href="http://www.phpclasses.org/blog/post/200--Zend-Optimizer-Cache-in-PHP-55-and-MySQL-56-Performance-Improvements--Lately-in-PHP-podcast-episode-32.html">Episode #32</a>, "Zend Optimizer+ Cache in PHP 5.5 and MySQL 5.6 Performance Improvements".
</p>
<blockquote>
MySQL 5.6 speed improvements and how it affects PHP applications was one of the main topics discussed by Manuel Lemos and Ernani Joppert on the episode 32 of the Lately in PHP podcast. They also commented on the eventual adoption of the Zend Optimizer+ as the PHP code caching extension that may be shipping with PHP 5.5 as alternative to APC, the implications of this to the PHP community.
</blockquote>
<p>
They also talk some about the switch of OpenSuSE/Fedora Linux to MariaDB MySQL, TDD in the Zurmo PHP Open Source CRM and using HTML5 animations. You can listen to this latest episode either through the <a href="http://www.phpclasses.org/blog/post/200--Zend-Optimizer-Cache-in-PHP-55-and-MySQL-56-Performance-Improvements--Lately-in-PHP-podcast-episode-32.html">in-page player</a>, by <a href="http://www.phpclasses.org/blog/post/200/file/162/name/Lately-In-PHP-32.mp3">downloading the mp3 directly</a> or <a href="http://www.youtube.com/watch?feature=player_embedded&v=lD6vEiUtpPo#!">watch the video</a> of the recording on YouTbue.
</p>]]></description>
      <pubDate>Thu, 07 Feb 2013 12:56:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Patrick Allaert: Composer: speeding up class autoloading]]></title>
      <guid>http://www.phpdeveloper.org/news/19099</guid>
      <link>http://www.phpdeveloper.org/news/19099</link>
      <description><![CDATA[<p>
In <a href="http://patrickallaert.blogspot.com/2013/01/speeding-up-class-autoloading-with.html">this new post</a> <i>Patrick Allaert</i> offers a solution that can help speed up the inclusion of files via the <a href="http://getcomposer.org">Composer</a> autoloader (in addition to the already present "optimize-autoloader" option).
</p>
<blockquote>
The problem with the classmap strategy and the nature of PHP is that there is no (easy) way to have a persistent variable across requests containing the classmap. [...] This [large returned array of mappings] can even take a big portion of your request's response time when you have hundreds or thousands of classes like it is the case with <a href="http://share.ez.no/">eZ Publish 5</a> being based on <a href="http://symfony.com/">Symfony</a>, where about 2 600 classes are involved.
</blockquote>
<p>
He suggests something that could be included into the Composer functionality itself - creating symbolic links in the PSR-0 standard to the location of the files to make it easier for Composer to resolve their location (based on namespace, not having to find them). Some sample code is included showing an additional autoloader that then uses the vendor names to match the path directly.
</p>]]></description>
      <pubDate>Mon, 28 Jan 2013 12:22:43 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin Schroeder: Why is FastCGI /w Nginx so much faster than Apache /w mod_php?]]></title>
      <guid>http://www.phpdeveloper.org/news/19008</guid>
      <link>http://www.phpdeveloper.org/news/19008</link>
      <description><![CDATA[<p>
In <a href="http://www.eschrade.com/page/why-is-fastcgi-w-nginx-so-much-faster-than-apache-w-mod_php/">this new post</a> to his site <i>Kevin Schroeder</i> takes a look at the performance difference between Apache+mod_php and Nginx+FastCGI and why the second is noticeably faster than the second.
</p>
<blockquote>
I was originally going to write a blog post about why NginX with FastCGI was faster than Apache with mod_php.  I had heard a while ago that NginX running PHP via FastCGI was faster than Apache with mod_php and have heard people swear up and down that it was true.  I did a quick test on it a while back and found some corresponding evidence. Today I wanted to examine it more in depth and see if I could get some good numbers on why this was the case.  The problem was that I couldn't. 
</blockquote>
<p>
He uses a "hello world" script as a baseline to do some testing and the <a href="http://httpd.apache.org/docs/2.2/programs/ab.html">ab</a> to run the numbers. His results show a pretty significant difference between the two setups and an "strace" on Apache showed a clear "winner" as to why it's slower (reading the .htaccess file). Once he turned this off, though, Apache jumped up and started performing better than Nginx. 
</p>
<blockquote>
This all makes sense.  mod_php has PHP embedded in Apache and so it should be faster.  If you're running only PHP on a web server then Apache still seems to be your best bet for performance.  And if you are seeing a significant performance difference then you should check if AllowOverride is turned on.  If it is, try moving that into httpd.conf and try again.
</blockquote>]]></description>
      <pubDate>Tue, 08 Jan 2013 12:43:23 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Paul Reinheimer: XHGui and MongoDB]]></title>
      <guid>http://www.phpdeveloper.org/news/18949</guid>
      <link>http://www.phpdeveloper.org/news/18949</link>
      <description><![CDATA[<p>
<i>Paul Reinhemier</i> has <a href="http://blog.preinheimer.com/index.php?/archives/403-XHGui-on-MongoDB.html">written up  post</a> sharing his creation of the code to get <a href="https://github.com/preinheimer/xhgui">XHGui working with MongoDB</a>.
</p>
<blockquote>
<a href="http://mark-story.com/posts/archive">Mark Story</a> & I are pleased as punch to introduce <a href="https://github.com/preinheimer/xhgui">XHGui on MongoDB</a>. Our goal was to get as close to the original feature set of the tool I worked on a few years ago (which leveraged the starting point provided by Facebook) and then to release what we had. What we've got now works; there's still a good distance to go, but we think it's far enough that we can ask for help form the community at large.
</blockquote>
<p>
The tool collects XHProf data and stores it into a MongoDB database and allows you to <a href="http://blog.preinheimer.com/uploads/runpage.png">view</a> <a href="http://blog.preinheimer.com/uploads/urlpage.png">recent</a> activity. There's a few warnings that he includes with the post, so be sure to read those through if you plan on using the tool.
</p>]]></description>
      <pubDate>Wed, 26 Dec 2012 10:02:01 -0600</pubDate>
    </item>
  </channel>
</rss>
