<?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>Tue, 21 May 2013 14:38:20 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[James Fuller: Simply scale with Nginx, Memcached, PHP-FPM and APC]]></title>
      <guid>http://www.phpdeveloper.org/news/19129</guid>
      <link>http://www.phpdeveloper.org/news/19129</link>
      <description><![CDATA[<p>
<i>James Fuller</i> has <a href="http://www.jblotus.com/2013/02/01/simply-scale-with-nginx-memcached-php-fpm-and-apc/">posted a guide to scaling</a> your web application using the nginx web server, memcached, PHP-FPM and APC caching.
<p>
<blockquote>
We sell an educational product that serves a predictable 15,000 requests per minute for 10+ hours/day, every day. Instead of Apache, we use nginx with <a href="http://www.php.net/manual/en/install.fpm.php">PHP-FPM</a> to handle this traffic. This is becoming a very popular setup for many companies with non-trivial traffic, but I have also found success with it in my small <a href="http://www.linode.com/?r=8ab874aa33b39b129030c8e53132a9d5ce87a06f">256MB Ram VPS</a>. For various reasons, nginx does a better job with memory and concurrent connection handling than Apache. In this post, I want to talk about some of the reasons you might want to go with this setup.
</blockquote>
<p>
He talks about some of the efficiency gains that memcache and nginx can give you pretty easily and some of the common uses for nginx, including using it as a reverse proxy. He talks some about Apache's typical request handling and shows the difference between that and how nginx does its "never block, finish fast" handling. He fits in the other pieces - PHP-FPM, memcached and APC - showing how each of them offers their own types of performance gains for different areas of the application.
</p>]]></description>
      <pubDate>Mon, 04 Feb 2013 10:46:01 -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[Vance Lucas' Blog: Nginx + PHP-FPM Blank Pages with Phar Packages]]></title>
      <guid>http://www.phpdeveloper.org/news/17648</guid>
      <link>http://www.phpdeveloper.org/news/17648</link>
      <description><![CDATA[<p>
<i>Vance Lucas</i> has a new post sharing some of his experience in <a href="http://www.vancelucas.com/blog/nginx-php-fpm-blank-pages-with-phar-packages/">setting up nginx+PHP-FPM with phar packages</a> that he recently had with setting up a new server instance for a company. The problem showed itself as blank pages, apparently due to a feature in the Suhosin security package.
</p>
<blockquote>
Ran into this issue when setting up a new VPS for <a href="http://autoridge.com/">AutoRidge</a>. This happens when using Nginx and PHP-FPM with PHP 5.3+ and the Suhosin patch when trying to run a PHP script using a PHAR package. From what I can gather, the Suhosin patch basically blocks PHP include/require functions from executing files ending with .phar, which results in a PHP segfault that leaves no trace of any error at all.
</blockquote>
<p>
His solution is a pretty simple one - edit the "suhosin.ini" file to allow for the opening of includes in <a href="http://php.net/phar">phar</a> files (suhosin.executor.include.whitelist). You can find out more about the Suhosin security tool <a href="http://www.hardened-php.net/suhosin/">on the project's website</a>.
</p>]]></description>
      <pubDate>Thu, 08 Mar 2012 12:18:02 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Pavel Shevaev's Blog: Make php-fpm execute arbitrary PHP scripts via socket]]></title>
      <guid>http://www.phpdeveloper.org/news/17045</guid>
      <link>http://www.phpdeveloper.org/news/17045</link>
      <description><![CDATA[<p>
<i>Pavel Shevaev</i> has a quick new post to his blog showing how to get PHP-FPM to <a href="http://efiquest.org/2011-10-22/55/">execute PHP scripts</a> via a socket request.
</p>
<blockquote>
We are using <a href="http://pecl.php.net/APC">APC cache</a> very heavily in our projects and during project deployment the cache must be flushed and warmed up. A common solution to warmup the APC cache is to fetch some special page via HTTP which does the job. The problem with this approach is that it's not reliable enough when PHP is served via several fastcgi back-ends.
</blockquote>
<p>
To solve the problem, he uses a <a href="https://github.com/pachanga/phpfpm">PHP-FPM module</a> to work with the FastCGI socket and execute any file (as permissions allow, of course). In his case, he uses it to "warm up" his APC cache for the user. A code snippet is provided as an example.
</p>
]]></description>
      <pubDate>Wed, 26 Oct 2011 11:19:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Justin Carmony's Blog: Setting Up Nginx & PHP-FPM on Ubuntu 10.04]]></title>
      <guid>http://www.phpdeveloper.org/news/17040</guid>
      <link>http://www.phpdeveloper.org/news/17040</link>
      <description><![CDATA[<p>
<i>Justin Carmony</i> has a new tutorial posted to his blog today about <a href="http://www.justincarmony.com/blog/2011/10/24/setting-up-nginx-php-fpm-on-ubuntu-10-04/">setting up Nginx and PHP-FPM on Ubuntu</a> in a few easy steps (thanks to some package management).
</p>
<blockquote>
This is another wonderful setup that I've found myself using rather than the traditional Apache & mod_php setup. [...] Ngnix, unlike Apache, doesn't actually load PHP. Instead, it hands it off as a proxy to a "php handler" which acts like an Application Server. So nginx by itself won't serve PHP files, but just static files.
</blockquote>
<p>
He briefly introduces <a href="http://nginx.org/">Nginx</a> and <a href="http://php-fpm.org/">PHP-FPM</a> for those not familiar and points out that this combination is very fast, even without much configuration. The packages are installed with the aptitude installer and minimal changes are made to the php-fm and nginx configuration files (mostly to set up whatever your domain/virtual host is).
</p>]]></description>
      <pubDate>Tue, 25 Oct 2011 13:39:24 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: Lightning-fast WordPress with PHP-FPM and nginx]]></title>
      <guid>http://www.phpdeveloper.org/news/15473</guid>
      <link>http://www.phpdeveloper.org/news/15473</link>
      <description><![CDATA[<p>
New on the SitePoint PHP blog there's <a href="http://blogs.sitepoint.com/2010/11/19/lightning-fast-wordpress-with-php-fpm-and-nginx/">a tutorial combining WordPress and PHP-FPM/nginx</a> to give you a high-performance version of your site.
</p>
<blockquote>
In this tutorial, I'll show how to build a server capable of withstanding a front-page Digg placement, step by step. This will mean your business stays online when it's most important-when everyone is looking. We'll go through the process of building a super-fast, bulletproof custom web server for WordPress. The technology stack we'll use is Ubuntu, nginx, PHP-FPM, and MySQL. In a future article we'll look at adding memcached to the mix to take performance even further.
</blockquote>
<p>
He walks you through the full install of each piece of software (on a linux-based system) even helping you compile PHP 5.3. There's some examples of configurations and a few shell commands you'll need to get things linked together and working, but the overall process is pretty quick and painless. Even if you already have a WordPress site, it's not too hard to follow along and drop it right in.
</p>]]></description>
      <pubDate>Mon, 22 Nov 2010 14:52:30 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Mike Willbanks' Blog: Getting Started with Nginx and PHP-FPM]]></title>
      <guid>http://www.phpdeveloper.org/news/14784</guid>
      <link>http://www.phpdeveloper.org/news/14784</link>
      <description><![CDATA[<p>
<i>Mike Willbanks</i> has <a href="http://blog.digitalstruct.com/2010/07/12/getting-started-with-nginx-and-php-fpm/">written up an introductory guide</a> to getting your own Nginx+PHP-FPM (a <a href="http://php-fpm.org/">FastCGI process manager</a> for PHP) server up and running.
</p>
<blockquote>
[These technologies] offer a great solution for finally getting rid of that old sloppy mod_php in Apache. Do you have the same issue where your apache instances have started to run too large? This might be the time to start to move forward.
</blockquote>
<p>
He talks about setting up the PHP-FPM instance with a custom compile, adding in an init script (from the fpm branch on the PHP svn), installing Nginx and configuring them both to work together. He also helps you set up a sample site (and virtualhost) that will run the PHP-FPM stuff on each request. 
</p>]]></description>
      <pubDate>Tue, 13 Jul 2010 13:47:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ole Markus' Blog: Gentoo Linux and PHP-FPM]]></title>
      <guid>http://www.phpdeveloper.org/news/14721</guid>
      <link>http://www.phpdeveloper.org/news/14721</link>
      <description><![CDATA[<p>
Because of a recent addition to the the Gentoo PHP package (FPM support) they're looking for people to test it out and report back the results. To help, <i>Ole Markus</i> has <a href="http://olemarkus.org/2010/06/gentoo-and-php-fpm/">written up some instructions</a> on how to get it up and working on your system with <a href="http://nginx.net/">nginx</a>.
</p>
<blockquote>
PHP just added the FPM patch to their 5.3 branch, making it likely that PHP 5.3.3 will support the FPM SAPI. The FPM SAPI is an improved fcgi SAPI that allows for more advanced configuration than the original fcgi SAPI. One of the most useful features is process management, which makes it very useful for lightweight webservers, such as <a href="http://nginx.net/">nginx</a>, that does not handle process management of fcgi themselves.
</blockquote>
<p>
There's only a few commands you'll need to get this new package installed and working with your local nginx install with the help of the emerge and layman tools. He also includes the configuration change you'll need to make to the nginx config file to get it working as a FastCGI module.
</p>]]></description>
      <pubDate>Tue, 29 Jun 2010 13:53:39 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog:  PHP with nginx is about to Become a Lot Easier]]></title>
      <guid>http://www.phpdeveloper.org/news/14454</guid>
      <link>http://www.phpdeveloper.org/news/14454</link>
      <description><![CDATA[<p>
On the SitePoint PHP blog today <i>Louis Simoneau</i> talks about something that can potentially make the PHP+ngnix combination <a href="http://www.sitepoint.com/blogs/2010/05/04/php-with-nginx-is-about-to-become-a-lot-easier/">even faster</a> - the inclusion of the <a href="http://php-fpm.org/">PHP-FPM</a> patch into PHP's core.
</p>
<blockquote>
You may be asking, "What is PHP-FPM, and why should I care?" PHP-FPM is a patch for PHP core that handles the starting, stopping, and restarting of FastCGI processes as needed. This is important because nginx can only interface with PHP via FastCGI, unlike Apache, which loads the whole PHP environment right into itself.
</blockquote>
<p>
Right now, the only downside to setting up the FastCGI interface with nginx takes a bit more work than the normal mod_php Apache handles so well. The PHP-FPM patch helps with some of this by making the FastCGI support directly embedded into PHP, removing the need for a lot of external setup.
</p>]]></description>
      <pubDate>Tue, 04 May 2010 08:49:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Alexey Zakhlestins' Blog: PHP-FPM is BSD-licensed now]]></title>
      <guid>http://www.phpdeveloper.org/news/12714</guid>
      <link>http://www.phpdeveloper.org/news/12714</link>
      <description><![CDATA[<p>
As <i>Alexey Zakhlestins'</i> mentions on his blog, the <a href="http://php-fpm.anight.org/">PHP-FPM</a> project is <a href="http://blog.milkfarmsoft.com/?p=88">now under the BSD license</a> with the potential for it to be included in the main PHP distribution.
</p>
<blockquote>
PHP-FPM is "deciphered" as "PHP FastCGI Process Manager" and is a patch for php to greatly improve FastCGI SAPI usage in production. It adds a bunch of additional features to php's fastcgi such as: easy php-process daemonization (with ability to specify uid/gid/chroot/log-file), safe php-processes restart (without losing requests), custom error-handling and accelerated file-upload support (requires additional support from web-server).
</blockquote>
<p>
You can find out more about the project from <a href="http://php-fpm.anight.org/">its main site</a> including a FAQ and documentation to get it up and running.
</p>]]></description>
      <pubDate>Fri, 19 Jun 2009 08:45:37 -0500</pubDate>
    </item>
  </channel>
</rss>
