Upload
josh-holmes
View
10.088
Download
0
Embed Size (px)
DESCRIPTION
PHP on IIS has had an amazing performance jump in the past 2-3 years but you can always squeeze a little more torque out of an engine with the right tuning. In this session we’ll dive into improvements in FastCGI and fantastic new libraries such as WinCache 1.1 for exceptional performance in your applications as we go under the hood with IIS.
Citation preview
/Web
Rev it up with PHP and IIS
Josh HolmesArchitect EvangelistMicrosoft [email protected] @joshholmes
Mark BrownWeb Platform TeamMicrosoft [email protected] @markjbrown
First, a little history…
• PHP on Win/IIS == Big Joke2006• FastCGI2007• IIS URL Rewrite & IIS 7• SQL Driver for PHP2008• WinCache 1.0• PHP 5.32009• WinCache 1.1• PHP Manager2010
IIS 7
• Default minimum installation
• New modular architecture• Streamlined processing
pipeline• Config similar to .htaccess,
web.config faster
Authorization
Resolve Cache
Execute Handler
Update Cache
Authentication
Send Response
FAST-CGI PHP
• Production PHP on Windows/IIS !!!!• Handles requests from app pool– No more createproc() per request
• Automatic Performance tuning– Mem, CPU, CTX– Better density for hosted environments
• Auto recycling PHP pool when php.ini changes– No more manual IIS restarts
• Consistent features across all versions of IIS– Code in XP, deploy to WinSvrR2
WINCACHE• Boost your speed with no code
changes– Opcode Cache– File Cache– Relative File Path Cache– Session Cache – User Data Cache
• WinCache Statistics Script for performance details
URL REWRITE
• Required for many Web CMS’s• Rules-based, text file or database• Reg-Ex & wildcard matching• Rewrite:– Outbound URL’s– Request headers and Server variables– HTTP Response– Inside specific html tags in response
• Import Apache mod_rewrite
PHP 5.3
• Updated code base• Native Win32 instead of POSIX• Latest compiler VC9• Use Non-Thread-Safe builds for
better performance.
PHP Manager
• Register multiple PHP versions with IIS
• Easy checking of phpinfo()• Configure PHP error reporting• Manage all php.ini directives
and PHP extensions within IIS• Remote PHP administration via
IIS Remote Administration Tool
http://phpmanager.codeplex.com/
SQL Server
• PHP Driver for SQL Server 2.0• Support for native PHP• Support for PDO• Support for PHP 5.3• Source released under Apache 2.0• Signed version includes support
• Drupal 7 will be first major PHP app with SQL Server support
IIS DATABASE MANAGER
• Consolidate MySQL or SQL Server Management inside IIS where you manage your sites– Manage local/remote databases– Create and edit tables– Add and edit data– Modify indexes and keys– Create and execute queries
PHP Web Apps
• Web Application Gallery– The most popular PHP apps– Easiest way to install– Packages built and tested for
Windows/IIS– Promoting actively:•http://web.ms/wordpress•http://web.ms/drupal•http://web.ms/joomla
PHP INTEROPERABILITY
• Extend PHP Applications:– Build reports with SQL
Server Reporting Services and the SDK for PHP
– Jazz up PHP app with Silverlight adaptive streaming
– Add Bing Search to your site, like the WordPress plug-in
http://www.interoperabilitybridges.com/php
PHP + COMMUNITY• WinCache is on PECL• SQL Server Driver for PHP is on codeplex• IIS and WinCache documentation on php.net• Participating on PHP forums• Working with PHP Group to improve PHP and PHP
installer• Working with PHP application developers to integrate
URLRewrite and WinCache• Working with PHP application communities to enable
easier deployment on Windows/IIS (Web Deploy)
START RIGHT HERE
PHP on Windowsmicrosoft.com/web/php
SUMMARY
• Windows & IIS is now viable for production PHP application hosting
• PHP performance on Windows has significantly improved in last 2 years.
• Web App Gallery will grow PHP developers on Windows and grow your business.
Questions?
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.