This talk is a talk that I did at MODxpo in Dallas around PHP on Windows. The demos that I did were tailered to MODx but the rest of the content is applicable to a lot of different projects and PHP applications.
19. 10 people shops 3 copies of VS 2 copies of Expression Web 1 copy of Expression Studio 4 procs of SQL Server 4 procs of Windows Server Microsoft WebsiteSpark
24. Resources How WinCache makes PHP run faster http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspx Using WinCache Extensions for PHP http://learn.iis.net/page.aspx/678/using-windows-cache-extension-for-php/ Changes Made to PHP 5.3 to Support Windows http://docs.php.net/manual/en/migration53.windows.php Migrating from PHP 5.2.x to PHP 5.3.x http://docs.php.net/manual/en/migration53.php SQL Server PHP Blog http://blogs.msdn.com/sqlphp Josh Holmes’ Blog http://www.joshholmes.com
Editor's Notes
http://www.flickr.com/photos/joshholmes/4420045760/sizes/l/in/set-72157623387691473/I am Josh Holmes!
http://www.flickr.com/photos/baggis/3437478294/Microsoft is a platform company. That includes things like Windows, SQL Server, Azure and more. Even Office is a platform that many of our partners build applications on top of.
http://www.flickr.com/photos/kr_alliance/4545102960/sizes/l/Let’s take a quick peek back at where we’ve been prior to 2006. It was in 2006 that things really started getting excited with regards to PHP on IIS.
http://www.flickr.com/photos/fatboyke/2668411239/ Prior to 2006, PHP on Windows wasslow and unreliable. There was a noticeable performance difference between IIS and Apache.
http://www.flickr.com/photos/kaptainkobold/3203311346/The PHP implementations were not compatible and the reality is that IIS support for PHP was a joke. The CGI implementation was SLOW. The ISAPI implementation was unreliable and Thread-safe dependency never would have worked anyway. And a ton of things that are used all the time in PHP, or really any web applications were either non-existent or third party components such as URL rewriting support.
http://www.flickr.com/photos/alf_bilder/4501404108/And with no rewrite support in IIS, it’s tough to do things like pretty urls.
http://www.flickr.com/photos/sam_scholefield/49378638/In short, it made people mad.
http://www.flickr.com/photos/atelier_tee/2478897483/sizes/l/So where are we now?
http://www.flickr.com/photos/spoungeworthy/423796116/sizes/o/FastCGIsupport for IIS 7.0, 6.0, 5.11 rocks and is fast. It’s the default on IIS7 and it’s a fast and reliable way to run PHP on Windows
http://www.flickr.com/photos/joshholmes/4420154653/sizes/l/in/set-72157623387691473/SQL Driver for PHPReliable, scalable integration with Microsoft SQL ServerDevelopment continues
And there’s fantastic support for URL redirection via URL Rewrite. This will even import the ht.access files from your Apache implementation and get you 90% of the way there.
http://www.flickr.com/photos/neufneufneuf/4583449949/More pigs fly – we didn’t stop there. In June 2009, we contributed 20k lines of source code to the Linux kernel to do much better virtualization support for things such as Suspend, Hibernate and Resume. Obviously our motivation was to get it to work better with Hyper-V but that code also helps with VMWare, Parallels and more.
http://www.flickr.com/photos/hendricksphotos/3240667660/sizes/o/So let’s get to some demos.
http://www.flickr.com/photos/hendricksphotos/3240667626/Cause I think you all want to see what’s in my smokin toolbox here. Demos:WebPIIIS Web Deploy ToolingURL RewriteWinCacheWebSliceSuperPreview
http://www.flickr.com/photos/timothymorgan/75593157/in/set-1615269/Alright – now let’s talk about SQL Server…
http://blogs.msdn.com/brian_swan/archive/2010/04/27/design-decisions-in-the-pdo-driver-for-sql-server.aspxThe SQL Server team has been working heavily on support for PHP. There was a native driver for SQL Server for PHP that was released last year. Then the team abstracted out a lot of the core functionality and build a PDO wrapper on the same native drivers. The awesome part about that is that if your application is using PDO (and using standards compliant SQL – i.e. not using LIMIT statements and the like) you can just load that driver and rock on.
Any of that exciting? Want these tools and platforms? Are you in a consulting shop? With less than 10 people in the shop? Then you quality for WebsiteSpark. That will give you:3 copies of VS2 copies of Expression Web1 copy of Expression Studio4 procs of SQL Server4 procs of Windows ServerFor 3 years and at the end of that 3 years, you’ll owe Microsoft a whopping $100.00.
http://www.flickr.com/photos/carpenter_b/3014060753/But there’s more
Next time, I’ll have to go deep into Azure which is Microsoft’s Platform as a Service offering. PHP is definitely a first class citizen in Azure.
http://twitpic.com/1mu6ugI hope you’re having a ton of fun here because I am.
How WinCache makes PHP run faster http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspxUsing WinCache Extensions for PHP http://learn.iis.net/page.aspx/678/using-windows-cache-extension-for-php/Changes Made to PHP 5.3 to Support Windowshttp://docs.php.net/manual/en/migration53.windows.phpMigrating from PHP 5.2.x to PHP 5.3.xhttp://docs.php.net/manual/en/migration53.phpSQL Server PHP Bloghttp://blogs.msdn.com/sqlphpJosh Holmes’ Bloghttp://www.joshholmes.com