<?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 00:41:44 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Chris Jones: Using the PHP CLI Webserver to Identify and Test Memory Issues in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/18361</guid>
      <link>http://www.phpdeveloper.org/news/18361</link>
      <description><![CDATA[<p>
<i>Chris Jones</i> has a new post today showing how you can <a href="https://blogs.oracle.com/opal/entry/using_the_php_cli_webserver">use PHP 5.4's built-in web server</a> to help test for memory issues in your application (and the language).
</p>
<blockquote>
Rasmus mentioned on IRC how he ran the [command line] tests: simply renaming the ".phpt" test files as ".php", and invoking them through the CLI webserver. The SKIPIF sections get executed, but that doesn't affect the desired outcome of testing multiple HTTP requests with different input scripts. [Here] are some quick shell scripts I put together to automate testing the OCI8 extension with valgrind.
</blockquote>
<p>
He uses the OCI8 extension as an example, showing how to set up these scripts to enable the execution of the tests, fire up the web server and execute Valgrind to help monitor the memory of the execution.
</p>]]></description>
      <pubDate>Wed, 15 Aug 2012 08:35:07 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Thomas Weinart: Using The PHP 5.4 Webserver On Windows]]></title>
      <guid>http://www.phpdeveloper.org/news/18295</guid>
      <link>http://www.phpdeveloper.org/news/18295</link>
      <description><![CDATA[<p>
<i>Thomas Weinert</i> has posted a helpful hint for those developing their PHP applications in a Windows environment - how you can <a href="http://www.a-basketful-of-papayas.net/2012/07/using-php-54-webserver-on-windows.html">use the PHP 5.4 built-in webserver</a> to test your applications.
</p>
<blockquote>
PHP 5.4 has an built-in webserver. For local development it is not necessary to install Apache Httpd or another webserver anymore. You can just start an server from the command line. [...] To make things a little easier you can create a windows shortcut.
</blockquote>
<p>
He <a href="http://2.bp.blogspot.com/-rMcALNnQ4OE/UBbtg8MvtvI/AAAAAAAAC9I/MXFyvnlGWKU/s1600/00-console.png">shows what it looks like</a> running in a console and steps you through the process of setting up the shortcut, giving you the flexibility to contril things like window size and buffer size.
</p>]]></description>
      <pubDate>Tue, 31 Jul 2012 10:35:11 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[BinaryTides.com: PHP Socket programming tutorial]]></title>
      <guid>http://www.phpdeveloper.org/news/18267</guid>
      <link>http://www.phpdeveloper.org/news/18267</link>
      <description><![CDATA[<p>
On the BinaryTides.com site there's a recent tutorial showing you how to <a href="http://www.binarytides.com/blog/php-socket-programming-tutorial-for-beginners/">effectively use sockets</a> in your PHP applications, complete with incoming and outgoing examples.
</p>
<blockquote>
This is a quick guide/tutorial to learning socket programming in php. Socket programming php is very similar to C. Most functions are similar in names, parameters and output. However unlike C, socket programs written in php would run the same way on any os that has php installed. So the code does not need any platform specific changes (mostly).
</blockquote>
<p>
They start with the basics - creating a socket, connecting to a server and sending out information over the connection. They also include the code examples showing how to pull in data from the socket. Their example socket is set up to be a simplistic web server, returning data according to the standards for a normal GET request. They make a mini-server out of it, getting to to accept requests on a bound socket.
</p>]]></description>
      <pubDate>Tue, 24 Jul 2012 12:14:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ole Markus With's Blog: Experimenting with uWSGI and its PHP plugin]]></title>
      <guid>http://www.phpdeveloper.org/news/18124</guid>
      <link>http://www.phpdeveloper.org/news/18124</link>
      <description><![CDATA[<p>
In a <a href="http://barelysufficient.org/2012/06/experimenting-uwsgi-php-plugin/">recent post to his blog</a> <i>Ole Markus With</i> looks at using the <a href="http://projects.unbit.it/uwsgi">uWSGI</a> server to serve up PHP applications that works similarly to the <a href="http://us2.php.net/manual/en/install.fpm.php">FastCGI Process Manager</a> that's included with PHP.
</p>
<blockquote>
If we ignore the additional features, using uWSGI with PHP is somewhat equivalent to using the <a href="http://us3.php.net/manual/en/install.fpm.php">Process Manager (FPM)</a> that ships with PHP. Just like FPM, the concept is that PHP runs inside a server dedicated to handling the processes/threads running the PHP code. This in contrast to running PHP inside of the actual webserver, like Apache's Mod_PHP, or letting the webserver handle the process management, like lighttpd typically does. In other words, you have the following chain of services: Client -> webserver -> process manager -> PHP interpreter.
</blockquote>
<p>
He includes some information about the setup ("is it easy?") and how it's more application-based than the usual PHP setup. He also touches on two other larger concerns - is it faster than some of the alternatives and whether or not you should spend time in your day to look into it.
</p>]]></description>
      <pubDate>Thu, 21 Jun 2012 12:06:34 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Johannes Schl&uuml;ter's Blog: Testing persistent connection and thread-safety features in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17712</guid>
      <link>http://www.phpdeveloper.org/news/17712</link>
      <description><![CDATA[<p>
In <a href="http://schlueters.de/blog/archives/166-Testing-persistent-connection-and-thread-safety-features-in-PHP.html">this recent post</a> to his blog <i>Johannes Schl&uuml;ter</i> he talks about a way that he's come up with to test functionality that uses persistent connections (and an module he created to help).
</p>
<blockquote>
In a few rare cases this is not what people like, for that PHP introduced "persistent connections" of different kinds. Testing those is a bit annoying as you have to configure a webserver and ensure to hit the same instance over the course of a test and then use a load generator, probably one which can detect a failure. Additionally by having a webserver in the game there is more code being executed, which might mean an additional source for trouble while debugging. An alternative might be using FastCGI, while that adds it's own issues for such a test. To solve this for myself I, some time ago, wrote a PHP SAPI module called <a href="https://github.com/johannes/pconn-sapi">pconn</a> and pushed it to github. 
</blockquote>
<p>
The extension provides a way to emulate requests by executing a script multiple times automatically, making it easier to test things that require checking against multiple things simultaneously. While the <a href="http://us2.php.net/manual/en/features.commandline.webserver.php">built-in webserver</a> (PHP 5.4) can be used to test some of these things too, <i>Johannes'</i> extension can also be compiled to help with testing of threading in applications as well.
</p>]]></description>
      <pubDate>Thu, 22 Mar 2012 09:51:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell's Blog: PHP 5.4 Built In Webserver]]></title>
      <guid>http://www.phpdeveloper.org/news/17464</guid>
      <link>http://www.phpdeveloper.org/news/17464</link>
      <description><![CDATA[<p>
<i>Lorna Mitchell</i> has <a href="http://www.lornajane.net/posts/2012/php-5-4-built-in-webserver">posted a quick tutorial</a> about a feature of the upcoming PHP 5.4 release, the built-in web server, and some tips on doing things like routing requests and changing the hostname.
</p>
<blockquote>
One of the big features arriving with PHP 5.4 is the addition of a built-in basic webserver for use in development environments. Quite a few of the other scripting languages have something like this so I'm very pleased to see it in PHP. Using a server like this makes it easy to quickly try out some scripts without needing to configure apache or really do anything much! I had to look up a few things to get started, so I thought I'd write them down for posterity.
</blockquote>
<p>
She includes instructions on how to get the server up and running from the command line, updating the location of the document root with a command line option and using a simple "routing.php" script to act as a front controller. Changing the hostname is as simple as changing "localhost" to something else when starting the server. 
</p>]]></description>
      <pubDate>Mon, 30 Jan 2012 11:35:09 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Joshua Thijssen's Blog: php 5.4 + htrouter: Your personal Apache 2.2 compatible server]]></title>
      <guid>http://www.phpdeveloper.org/news/17296</guid>
      <link>http://www.phpdeveloper.org/news/17296</link>
      <description><![CDATA[<p>
<i>Joshua Thijssen</i> has a new post to his blog today about a feature of the upcoming PHP 5.4 release, the built-in web server, and <a href="http://www.adayinthelifeof.nl/2011/12/22/php-5-4-htrouter-your-personal-apache-2-2-compatible-server/">a handy way to reproduce .htaccess functionality</a> with the help of a simple PHP script - <a href="https://github.com/jaytaph/htrouter">htrouter</a>.
</p>
<blockquote>
The problem with the new PHP 5.4 internal web-server is that it isn't Apache. Thus it does not know anything about .htaccess. Even when you have defined your .htaccess to do authentication, the internal PHP web-server will ignore it, while in production, the authentication will be needed (if you will be running Apache, of course). Also, you need to reroute everything manually through your app_dev.php, so your URL's don't really match the way they will be on your production.
</blockquote>
<p>
He introduces the PHP web server quickly, just showing a sample command line call to start it up and to point it at a certain PHP file as a "boostrap". With the help of his <a href="https://github.com/jaytaph/htrouter">htrouter</a> script, though, you can use "modules" similar to those in Apache. He already has the HTTP auth stuff working and more is to come.
</p>]]></description>
      <pubDate>Fri, 23 Dec 2011 08:27:10 -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[DZone.com: PHP 5.4 Will Have a Built-in Web Server]]></title>
      <guid>http://www.phpdeveloper.org/news/17030</guid>
      <link>http://www.phpdeveloper.org/news/17030</link>
      <description><![CDATA[<p>
As is mentioned in <a href="http://css.dzone.com/news/php-54-will-have-built-web">this new post</a> to DZone.com, one of the features of the upcoming PHP 5.4 release, including things like traits and array dereferencing support, will also have an interesting new feature - a built-in simple web server.
</p>
<blockquote>
Yet another new feature to look forward to in PHP 5.4.0 - the CLI SAPI will now provide a built-in web server which is geared toward developmental purposes.  It shouldn't be used in production right now. 
</blockquote>
<p>
The PHP manual <a href="http://php.net/manual/en/features.commandline.webserver.php">has been updated</a> with the latest on this upcoming feature:
</p>
<blockquote>
URI requests are served from the current working directory where PHP was started, unless the -t option is used to specify an explicit document root. [...] If a PHP file is given on the command line when the web server is started it is treated as a "router" script for the web server. The script is run at the start of each HTTP request. If this script returns FALSE, then the requested resource is returned as-is. Otherwise the script's output is returned to the browser.
</blockquote>
<p>
The PHP 5.4.x series is still in beta as of the time of this post - you can download the beta1 on the <a href="http://www.php.net/downloads.php">downloads section</a> of the PHP site (or the <a href="http://windows.php.net/download/">Windows binaries</a>).
</p>]]></description>
      <pubDate>Mon, 24 Oct 2011 09:24:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[HowToForge.com: Installing Cherokee With PHP5 And MySQL Support On Ubuntu 11.04]]></title>
      <guid>http://www.phpdeveloper.org/news/16733</guid>
      <link>http://www.phpdeveloper.org/news/16733</link>
      <description><![CDATA[<p>
On the HowToForge.com site there's a new tutorial stepping you through the process of getting <a href="http://www.howtoforge.com/installing-cherokee-with-php5-and-mysql-support-on-ubuntu-11.04">Cherokee+PHP+MySQL working</a> on an Ubuntu linux installation.
</p>
<blockquote>
Cherokee is a very fast, flexible and easy to configure Web Server. It supports the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, TLS and SSL encrypted connections, virtual hosts, authentication, on the fly encoding, load balancing, Apache compatible log files, and much more. This tutorial shows how you can install Cherokee on an Ubuntu 11.04 server with PHP5 support (through FastCGI) and MySQL support.
</blockquote>
<p>
The tutorial makes use of the package manager (apt-get) to install the needed software, so don't look for complete compiling information from this process. They include a bit of the configuration of the Cherokee installation and how you enable PHP support via its interface. Screenshots of the Cherokee interface are included to help make it easier to follow along.
</p>]]></description>
      <pubDate>Wed, 17 Aug 2011 13:46:09 -0500</pubDate>
    </item>
  </channel>
</rss>
