<?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, 23 May 2012 19:54:00 -0500</pubDate>
    <ttl>30</ttl>
    <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[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[Slawek's Blog: Efficient file serving in PHP application with nginx]]></title>
      <guid>http://www.phpdeveloper.org/news/16104</guid>
      <link>http://www.phpdeveloper.org/news/16104</link>
      <description><![CDATA[<p>
In a <a href="http://www.leftjoin.net/2011/03/efficient-file-serving-in-php-application-with-nginx/">quick new post</a> to his blog today <i>Slawek</i> looks at a method he's come up with to more efficiently serve up files in a PHP application using the <a href="http://nginx.org/">nginx</a> web server.
</p>
<blockquote>
Sometimes we need to serve files directly from application, especially when file access is restricted by account permissions. Using readfile() to achieve this can successfully kill our web server - even without huge load. To avoid performance problems we can use nginx X-Accel-Redirect feature, and serve files from application through nginx server.
</blockquote>
<p>
He sets up an example situation - serving up gallery images for a basic site - and shows how to configure the nginx server with the "/gallery" directory and the PHP code you'll need to push the "X-Accel-Redirect" header along with the contents of the image.
</p>]]></description>
      <pubDate>Fri, 25 Mar 2011 12:34:34 -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[Content with Style: Zend Framework with nginx and php-fastcgi]]></title>
      <guid>http://www.phpdeveloper.org/news/14909</guid>
      <link>http://www.phpdeveloper.org/news/14909</link>
      <description><![CDATA[<p>
On the Content with Style blog today there's <a href="http://www.contentwithstyle.co.uk/content/zend-framework-with-nginx">a new post</a> showing you how to get the Zend Framework up and running with the nginx web server running PHP as a FastCGI.
</p>
<blockquote>
Since I while I heard good things about nginx and wanted to use it for my Zend Framework MVC applications. I just got a Ubuntu server working after one of those days that seem to be a never ending Google search and debugging session, so I thought I'd share the outcome with you. 
</blockquote>
<p>
They show you how to install the needed packages, set up FastCGI and configure it to work with nginx and, of course, configure nginx to use the FastCGI. Included in the nginx config is a pointer to the Zend Framework's document root. Setting up the Zend Framework and creating an application isn't a part of the tutorial.
</p>]]></description>
      <pubDate>Thu, 05 Aug 2010 11:06:02 -0500</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[Abhinav Singh's Blog: Setting Nginx, PHP Fastcgi and XCache on a new Ubuntu]]></title>
      <guid>http://www.phpdeveloper.org/news/14438</guid>
      <link>http://www.phpdeveloper.org/news/14438</link>
      <description><![CDATA[<p>
<i>Abhinav Singh</i> has <a href="http://abhinavsingh.com/blog/2010/04/setting-nginx-php-fastcgi-and-xcache-on-a-new-ubuntu/">a new post</a> to his blog today showing how to get Nginx, PHP (FastCGI) and XCache all up and running on an Ubuntu installation. He made the switch to this platform after he made the change in his choice of web servers:
</p>
<blockquote>
Recently, because of a mandatory VPS move I had an opportunity to migrate all my sites from apache to nginx. My old box was in a messy state and setting up a new box from scratch was always going to be fun. Here in this post, I will walk you through all the steps that helped me migrate seamlessly. Specially, how did I setup the new box ensuring zero downtime on the sites.
</blockquote>
<p>
One of the keys to his transition was to have no downtime in the switch between the old and new systems (managing local vs public DNS let him test). The software is all installed via the apt-get package manager and the changes you'll need to make to the configuration files are all included, making the install as easy on you as possible. 
</p>]]></description>
      <pubDate>Fri, 30 Apr 2010 08:41:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[TechnoSophos .com: A 53,900% speedup: Nginx, Drupal, & Memcache]]></title>
      <guid>http://www.phpdeveloper.org/news/14236</guid>
      <link>http://www.phpdeveloper.org/news/14236</link>
      <description><![CDATA[<p>
On the TechnoSophos blog there's a recent post looking at how the swapping of a few technologies has made for a <a href="http://technosophos.com/content/53900-speedup-nignx-drupal-and-memcache-bring-concurrency-and-page-load-time-way-down">huge performance jump</a> for a Drupal-based website.
</p>
<blockquote>
With a clever hack utilizing Memcache, Nginx, and Drupal, we have been able to speed the delivery time of many of our major pages by 53,900% (from 8,100 msec to 15 msec, according to siege and AB benchmarks). Additional, we went from being able to handle 27 concurrent requests to being able to handle 3,334 concurrent requests (a 12,248% increase). While we performed a long series of performance optimizations, this article is focused primarily on how we managed to serve data directly from Memcached, via Nginx, without invoking PHP at all.
</blockquote>
<p>
They describe how, by just changing out the web server to <a href="http://nginx.org/">mginx</a> and a highly tuned <a href="http://memcached.org/">memcached</a> installation, they could get huge jumps in response times. They pushed it even more when they changed the nginx configuration to directly interact with the memacahed server instead of having to rely on PHP's interface. Details on how to get this setup working and an overall view of how it works are also included in the post.
</p>]]></description>
      <pubDate>Tue, 23 Mar 2010 14:53:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Till Klampaeckel' Blog: PHP parse errors with cgi and nginx]]></title>
      <guid>http://www.phpdeveloper.org/news/14191</guid>
      <link>http://www.phpdeveloper.org/news/14191</link>
      <description><![CDATA[<p>
<i>Till Klampaeckel</i> has a very quick post about a problem he was coming across when using PHP as a CGI on the <a href="http://nginx.org/">nginx</a> web server. It was throwing errors ("client prematurely closed connection...") with no evident cause.
</p>
<blockquote>
The issue was a PHP parse error which I overlooked when I added a new file. The weird thing is, I had nothing in the logs (E_ALL, display_errors is off, but all logs are enabled and I tailed them using multitail) and nginx only displayed a blank page. The errors above were in nginx's own log file.
</blockquote>
<p>
The <a href="http://www.vanheusden.com/multitail/">multitail</a> command lets you run the "tail" command on more than one file at a time and view them split out in your console for easier reference. The full error message reads:
</p>
<blockquote>
client closed prematurely connection, so upstream connection is closed too while sending request to upstream, client: a.a.a.a, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/.fastcgi.till/socket:", host: "localhost"
</blockquote>]]></description>
      <pubDate>Tue, 16 Mar 2010 11:18:59 -0500</pubDate>
    </item>
  </channel>
</rss>

