<?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>Mon, 21 May 2012 08:26:05 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Brian Swan's Blog: Azure Real World: Migrating a Drupal Site from LAMP to Windows Azure]]></title>
      <guid>http://www.phpdeveloper.org/news/17696</guid>
      <link>http://www.phpdeveloper.org/news/17696</link>
      <description><![CDATA[<p>
In <a href="http://blogs.msdn.com/b/brian_swan/archive/2012/03/19/azure-real-world-migrating-drupal-from-lamp-to-windows-azure.aspx">this new post</a> to his blog <i>Brian Swan</i> shares the process that he and other Microsoft-ers went through to migrate a site off of a LAMP stack and over to one based on Windows Azure. They moved was the <a href="http://blogs.msdn.com/b/interoperability/archive/2012/02/24/sag-awards-website-moves-to-windows-azure.aspx">SAG awards</a> website because of issues it had seen with outages and slow performance.
</p>
<blockquote>
In many ways, the SAG Awards website was a perfect candidate for Windows Azure. The website has moderate traffic throughout most of the year, but has a sustained traffic spike shortly before, during, and after the awards show in January. [...] The main challenge that SAG Awards and Microsoft engineers faced in moving the SAG Awards website to Windows Azure was in architecting for a very high, sustained traffic spike while accommodating the need of SAG Awards administrators to frequently update media files during the awards show. Both intelligent use of Windows Azure Blob Storage and a custom module for invalidating cached pages when content was updated were key to delivering a positive user experience.
</blockquote>
<p>
He walks you through each of the five steps (high-level, obviously) that they took in the migration:
</p>
<ul>
<li>Export data
<li>Install Drupal on Windows
<li>Import data into SQL Azure
<li>Copy media files to Azure Blob Storage
<li>Package and Deploy Durpal
</ul>
<p>
Each step comes with some explanation and descriptions of the commands and tools used during the process.
</p>]]></description>
      <pubDate>Tue, 20 Mar 2012 08:44:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Using SQL Azure Federations via PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17423</guid>
      <link>http://www.phpdeveloper.org/news/17423</link>
      <description><![CDATA[<p>
<i>Brian Swan</i> has a new post to his blog about <a href="http://blogs.msdn.com/b/silverlining/archive/2012/01/18/using-sql-azure-federations-via-php.aspx">using Azure Federations</a> in your PHP applications:
</p>
<blockquote>
In a nutshell, <a href="http://social.technet.microsoft.com/wiki/contents/articles/2281.federations-building-scalable-elastic-and-multi-tenant-database-solutions-with-sql-azure.aspx">SQL Azure Federations</a> introduces an abstraction layer for the <a href="http://en.wikipedia.org/wiki/Sharding">sharding</a> of SQL Azure databases. The value in federations lies in your ability to have elastic scalability of the database layer of your application (to match the elastic scalability of the rest of your application when it's running in the cloud). And, one nice thing about the way federations work is that nearly everything can be done with simple SQL commands. Of course, that means that using SQL Azure Federations via PHP should be easy. So in this post, I'll introduce you to SQL Azure federations by showing you how to use them via PHP.
</blockquote>
<p>
He uses the <a href="http://www.microsoft.com/download/en/details.aspx?id=20098">SQL Server drivers</a> to make the connection to the Azure instance and, based on his included code, creates a federation and tables inside it. 
 He also shows how to insert data into these tables, split up a federation, insert data after this split and how to query a federation member with the filtering on or off.
</p>]]></description>
      <pubDate>Fri, 20 Jan 2012 08:31:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Running VisualPHPUnit in Windows Azure]]></title>
      <guid>http://www.phpdeveloper.org/news/17377</guid>
      <link>http://www.phpdeveloper.org/news/17377</link>
      <description><![CDATA[<p>
<i>Brian Swan</i> has posted another in his "unit testing on Azure" posts to his blog today. This time he shows how to <a href="http://blogs.msdn.com/b/silverlining/archive/2012/01/10/running-visualphpunit-in-windows-azure.aspx">get VisualPHPUnit running</a> on your Windows Azure installed code.
</p>
<blockquote>
Last month, I wrote <a href="http://blogs.msdn.com/b/silverlining/archive/2011/12/05/thoughts-on-testing-oss-applications-in-windows-azure.aspx">a post that outlined 3 ways to test PHP applications in Windows Azure</a>, and since then I've covered two of those approaches: <a href="http://blogs.msdn.com/b/silverlining/archive/2011/12/07/running-phpunit-in-windows-azure.aspx">Running PHPUnit in Windows Azure</a> (uses RDP) and <a href="http://blogs.msdn.com/b/silverlining/archive/2012/01/03/automating-phpunit-tests-in-windows-azure.aspx">Automating PHPUnit Tests in Windows Azure</a>. In this post I'll cover how to use a web-front end (<a href="https://github.com/NSinopoli/VisualPHPUnit">VisualPHPUnit</a> specifically) to run tests in Azure.
</blockquote>
<p>
The process is really simple - it's basically three steps (after the VisualPHPUnit install): 
</p>
<ul>
<li>Edit the configuration file to point to the right tests directory
<li>Password protect the VisualPHPUnit directory
<li>Deploy your application by following the instructions <a href="http://blogs.msdn.com/b/silverlining/archive/2011/11/23/packaging-a-custom-php-installation-for-windows-azure.aspx">here</a>
</ul>]]></description>
      <pubDate>Wed, 11 Jan 2012 10:25:43 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Automating PHPUnit Tests in Windows Azure]]></title>
      <guid>http://www.phpdeveloper.org/news/17351</guid>
      <link>http://www.phpdeveloper.org/news/17351</link>
      <description><![CDATA[<p>
<i>Brian Swan</i> has posted another tutorial in a series looking at testing applications on the Azure platform. In <a href="http://blogs.msdn.com/b/silverlining/archive/2012/01/03/automating-phpunit-tests-in-windows-azure.aspx">this latest post</a> he talks about how to automate your <a href="http://phpunit.de">PHPUnit</a> tests as a part of the start up of the instance.
</p>
<blockquote>
In this post, I'll show you how to deploy your PHPUnit tests with your application, have the tests run as a start up task, and have the results written to your storage account for analysis. Attached to this post is a .zip file that contains a skeleton project that you can use to automatically run PHPUnit tests when you deploy a PHP application to Azure. I'll walk you though how to use the skeleton project, then provide a bit more detail as to how it all works (so you can make modifications where necessary).
</blockquote>
<p>He has it broken up into a few easy-to-follow steps:</p>
<ul>
<li>Download <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-25-21-34/AzurePHPWebRole.zip">the AzurePHPWebRole</a> zip archive and unpack it
<li>Copy your application, tests and PHP installation into the resulting file structure
<li>Create a skeleton "ServiceConfiguration.cscfg" file with the "cspack" command and edit it to change the "osfamily" and "osversion" settings
<li>Use "cspack" to package up the application and <a href="http://azurephp.interoperabilitybridges.com/articles/deploying-your-first-php-application-to-windows-azure#new_deploy">deploy the application</a>
</ul>
<p>
He walks you through the "how it works" steps too - the things that happen for you automatically on the server side to do things like set up the file to log to, configure the PHP environment and execute the "runtests" Powershell file as included in the AzurePHPWebRole download.
</p>]]></description>
      <pubDate>Thu, 05 Jan 2012 11:58:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Michaelangelo van Dam' Blog: Configuring Zend Framework apps for Windows Azure]]></title>
      <guid>http://www.phpdeveloper.org/news/17274</guid>
      <link>http://www.phpdeveloper.org/news/17274</link>
      <description><![CDATA[<p>
<i>Michelangelo van Dam</i> is back with the <a href="http://www.dragonbe.com/2011/12/configuring-zend-framework-apps-for.html">second part</a> of his series looking at running PHP applications on Azure (the first part <a href="http://phpdeveloper.org/news/17242>is here</a>). In this new post he focuses more on configuring and building an actual application, one based on the <a href="http://framework.zend.com">Zend Framework</a>.
</p>
<blockquote>
Building web applications is nothing new anymore, as we've been doing it since the early days of the internet, but we've always done this on a single system. Even when <a href="http://framework.zend.com/">Zend Framework</a> came round, we kept doing the same thing and build apps for a single environment.
But as I've discussed already in <a href="http://www.dragonbe.com/2011/12/windows-azure-for-php-developers.html">my previous article</a>, developing for the cloud requires another approach. [...] With <a href="http://framework.zend.com/">Zend Framework</a> developing applications running on these separate compontents becomes really easy. It's like having your cloud toolbox right in your pocket.
</blockquote>
<p>
He walks you through the settings needed to interact with a MySQL database backend, setting up sessions to write to the database, caching information to a memcache server and storing files on a remote destination (in this case cloud storage). 
</p>]]></description>
      <pubDate>Mon, 19 Dec 2011 08:50:51 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Michaelangelo van Dam' Blog: Windows Azure for PHP developers]]></title>
      <guid>http://www.phpdeveloper.org/news/17242</guid>
      <link>http://www.phpdeveloper.org/news/17242</link>
      <description><![CDATA[<p>
In a new post to his blog, <i>Michelangelo van Dam</i> starts off a series looking at <a href="http://www.dragonbe.com/2011/12/windows-azure-for-php-developers.html">Windows Azure for PHP developer</a>, an introduction to the service and what sorts of features it has to offer.
</p>
<blockquote>
I'm a developer and I don't want to fiddle with setting up and maintaining an operating system, basically since I don't have the time for it. [...] I was completely sold when <a href="http://twitter.com/joshholmes">Josh Holmes</a> came to Brussels in 2009 and told us more about what <a href="http://www.windowsazure.com/en-us/">Windows Azure</a> has to offer and how perfectly it is to build applications consuming these cloud services, without having to deal with setting up and maintaining the platform the run on. 
</blockquote>
<p>
He points out just a few of the features of an Azure instance - pre-installed OS (similar to Windows 2008 Server + IIS7), the five types of storage available (including Queue, SQL Azure and Blob storage). He also mentions working with file uploads, sessions, caching, database interaction and a brief comparison of <a href="https://picasaweb.google.com/lh/photo/TeTiUWtrO_4eRoqltjplX9HMK1EdodWiRI_bfz35pn8?feat=embedwebsite">cloud versus non-cloud scaling methods</a>. In the next part of his series, he'll get more practical and show how to set up a Zend Framework application on an Azure instance.
</p>]]></description>
      <pubDate>Mon, 12 Dec 2011 09:17:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Running PHPUnit in Windows Azure]]></title>
      <guid>http://www.phpdeveloper.org/news/17236</guid>
      <link>http://www.phpdeveloper.org/news/17236</link>
      <description><![CDATA[<p>
<i>Brian Swan</i> has a recent post to his MSDN blog about <a href="http://blogs.msdn.com/b/silverlining/archive/2011/12/07/running-phpunit-in-windows-azure.aspx">setting up PHPUnit for testing</a> on a Windows Azure platform (as installed via PEAR).
</p>
<blockquote>
After figuring out how to run PHPUnit from the command line in a Windows Azure instance, I did find that a bit more configuration work than I anticipated was necessary. I'm not 100% certain that this is the best way to run PHPUnit in Windows Azure, but it is one way. I'd be interested in hearing better ways to do this.
</blockquote>
<p>He breaks it up into a few different steps:</p>
<ul>
<li>Building the application with your tests locally
<li>Package the application up for Azure deployment
<li>Enable RDP access on your Azure instance
<li>Find your PHP and PEAR install on your instance and, logged in via RDP, add their locations to your current path
<li>Edit the phpunit.bat file to point to the right PHP location
<li>Execute the tests!
</ul>
<p>
For other options for testing Azure-based applications, see <a href="http://blogs.msdn.com/b/silverlining/archive/2011/12/05/thoughts-on-testing-oss-applications-in-windows-azure.aspx">Brian's previous post</a>.
</p>]]></description>
      <pubDate>Fri, 09 Dec 2011 10:08:47 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Maarten Balliauw's Blog: Running Memcached on Windows Azure for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17033</guid>
      <link>http://www.phpdeveloper.org/news/17033</link>
      <description><![CDATA[<p>
<i>Maarten Balliauw</i> has a new post to his blog with a guide to <a href="http://blog.maartenballiauw.be/post/2011/10/21/Running-Memcached-on-Windows-Azure-for-PHP.aspx">running mamcached on Windows Azure for PHP</a>, a tool targeted towards PHP on Windows users to provide them with the ability to cache outside of their application.
</p>
<blockquote>
While Windows Azure offers a distributed caching layer under the form of the <a href="http://www.microsoft.com/windowsazure/features/caching/">Windows Azure Caching</a>, that components currently lacks support for non-.NET technologies. I've heard there's work being done there, but that's not very interesting if you are building your app today. This blog post will show you how to modify a Windows Azure deployment to run and use <a href="http://memcached.org/">Memcached</a> in the easiest possible manner. Note: this post focuses on PHP but can also be used to setup Memcached on Windows Azure for NodeJS, Java, Ruby, Python...
</blockquote>
<p>
He provides a <a href="http://blog.maartenballiauw.be/file.axd?file=2011%2f10%2fMemcachedScaffolder.phar">phar-based scaffolding</a> you can use to set up the instance and describes two ways of accomplishing it - the "short way" of relying on the scaffolding or the "long way" describing what the scaffolder does behind the scenes (complete with code). For this, you can also <a href="http://blog.maartenballiauw.be/file.axd?file=2011%2f10%2fMemcachedScaffolderSource.zip">download the source</a> and look through it.
</p>]]></description>
      <pubDate>Mon, 24 Oct 2011 21:52:11 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Using SQL Azure to Store PHP Session Data]]></title>
      <guid>http://www.phpdeveloper.org/news/17024</guid>
      <link>http://www.phpdeveloper.org/news/17024</link>
      <description><![CDATA[<p>
In a recent post to his blog <i>Brian Swan</i> takes a look at working with sessions in PHP and, specifically, how to <a href="http://blogs.msdn.com/b/silverlining/archive/2011/10/19/using-sql-azure-to-store-php-session-data.aspx">save them to Azure</a> along with all of their data.
</p>
<blockquote>
In my <a href="http://blogs.msdn.com/b/silverlining/archive/2011/10/18/handling-php-sessions-in-windows-azure.aspx">last post</a>, I looked at the session handling functionality that is built into the <a href="http://phpazure.codeplex.com/">Windows Azure SDK for PHP</a>, which uses <a href="http://www.microsoft.com/windowsazure/features/storage/">Azure Tables or Azure Blobs</a> for storing session data. As I wrote that post, I wondered how easy it would be to use <a href="http://msdn.microsoft.com/en-us/library/ee336241.aspx">SQL Azure</a> to store session data, especially since using a database to store session data is a common and familiar practice when building distributed PHP applications.  As I found out, using SQL Azure to store session data was relatively easy (as I'll show in this post), but I did run into a couple of small hurdles that might be worth taking note of.
</blockquote>
<p>
He uses PHP's own <a href="http://us2.php.net/session_set_save_handler">session_set_save_handler</a> to point to his custom Azure handling class with the needed methods (like write, close and destroy). He breaks it out into three simple steps, some with a bit of code attached:
</p>
<ul>
<li>Create the database, table, and stored procedure
<li>Add the SqlAzureSessionHandler class to your project
<li>Instantiate SqlAzureSessionHandler before calling session functions as you normally would
</ul>
<p>
The code for the Azure handling class can be downloaded <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-22-76-75/SqlAzureSessionHandler.zip">here</a>.
</p>]]></description>
      <pubDate>Fri, 21 Oct 2011 08:32:46 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Web Species Blog: We built a cloud platform for PHP. Wait...what?]]></title>
      <guid>http://www.phpdeveloper.org/news/16946</guid>
      <link>http://www.phpdeveloper.org/news/16946</link>
      <description><![CDATA[<p>
As mentioned on the Web Species blog in <a href="http://blog.webspecies.co.uk/2011-10-03/we-built-a-cloud-platform-for-php-wait-what.html">this recent post</a>, they've developed a "Windows Azure done right" platform (<a href="http://cloud.webspecies.co.uk/">Azure++</a>, name pending) that makes deploying to an Azure platform a much simpler process, pulling from something like a remote code repository (maybe <a href="http://github.com">github</a>) and deploying in less than five seconds.
</p>
<blockquote>
Azure is just impossible to use for PHP today. This is a fact. Doesn't matter which way you look at it, it just su.. isn't particularly good. The amount of steps you need to make, the knowledge you need to have and the fact that you can only deploy from Windows host are some of the things which make it a very painful experience. I had enough of this pain.
</blockquote>
<p>
<a href="http://cloud.webspecies.co.uk/">The service</a> helps you make quick and easy Azure deployments. <a href="http://cloud.webspecies.co.uk/features">Features</a> include multiple datacenter support, your choice of PHP versions (5.2 or 5.3) and the ability to deploy in "production" or "development" environments. You can find out more about the service <a href="http://cloud.webspecies.co.uk/">here</a>.
</p>]]></description>
      <pubDate>Tue, 04 Oct 2011 10:33:04 -0500</pubDate>
    </item>
  </channel>
</rss>

