SlideShare a Scribd company logo
Windows Server & FastCGI technologies for PHP Tim Keller Lead Developer Umoya Networks · www.umoya.net DTL318
PHP GATECRASHES A MICROSOFT EVENT
PHP at a Microsoft eventWhat on earth? A Microsoft Primer for PHP developers A PHPPrimer for Microsoftdevelopers(more likely, since this is TechEd) Either way, welcome! Thanks for coming.
Who am ITim Keller (@timkelleror  timk.co.za) Your typical Mac/Linux type Lead Developer of a PHP-based cloud hosted tool for teachers and school admins, called staffroom Microsoft-friendly HI, I’M TIM KELLER LEAD PHP DEVELOPER www.mystaffroom.net tim@mystaffroom.net
GoalsGood intensions Show you some cool stuff Tell you where you can get it Tell you where you can learn more Answer questions Go have a beer with all of you
Stuff we’ll talk about6 things. Simple. Microsoft and Opensource PHP and IIS Powershell for IIS SQL Server Driver for PHP Microsoft Ajax Library Silverlight and PHP
TAG TWEETS WITH #techedsa2009 FOLLOW ME twitter.com/timkeller
Microsoft and OpenSource
DeniaL It’s not just a river in Egypt.
Microsoft and OpenSourceSurprising perhaps MS Redmond OSS lab Staffed by OSS and Linux experts 300 servers of varying types 340+ Linux distros available for testing Tests interoperability of OSS and Windows Research of OSS technologies
Microsoft and OpenSourceSurprising perhaps Projects so far… Firefox Silverlight support Silverlight/Moonlight common standard Vista Firefox compatibility FastCGI hosting of PHP and Python on IIS SQL Server drivers for PHP and Java
Microsoft and OpenSourceSurprising perhaps Active and Future projects PHP Active Directory integration PHP SharePoint integration SugarCRM SQL Server connectivity Windows - Apache build support/research
Why PHP anyway?
BraverY Wounds Heal.  Chicks dig scars. Glory lasts forever.
PHP Web Applications
PHP Web Frameworks
Commercial sites using PHP
HARD TO IGNORE.
PHP on Windows, with IIS
PHP on WindowsIt’s actually been around for a long time Most PHP developers: Develop on Windows Deploy to Linux, BSD, *nix. Perception that PHP on IIS sucks (this was true) Often install Apache for Dev or Production
Performance vs. Reliability
FastCGI: Pooling and Caching HTTP Request index.php PHP PHP HTTP Request login.php PHP PHP FastCGI process pool for PHP5 PHP processes are reused. No process creation overhead = 20x performance increase HTTP Request header.php
IIS7+ FastCGI HandlerBasic Architecture FastCGI process pool for PHP5 IIS Worker Process FastCGI protocol over named pipes or TCP php-cgi.exe FastCGI process pool for PHP4 Request queue php.exe
CommunitY You’d be surprised what you can accomplish when you work with people who have common goals and ideals.
2006Zend and Microsoft announce collaboration 2007Zend and PHP Core Devs start optimising PHP5.2.x builds for windows. FastCGI extensions for IIS6. 2008MS release IIS7 with native FastCGI for PHP.
2008Microsoft’s Pierre Joye and the PHP community conduct major work on the PHP 5.3 codebase. Fixed 60+ Windows-specific bugs Updated every library to latest version (some were 10+ years old) Compiled PHP with VC++ 9 (VS 2008) x86 and x64 builds for Windows
2009 Microsoft release IIS 7.5 builds with Windows 7 and Server 2008 R2  builds. Zend ships Zend Core for Windows with Microsoft’s FastCGI implementation
Popular Web Servers (June ‘09) IIS7 IIS6 IIS5 Courtesy:Netcraft Web Server Survey, June 2009.
Where to get all thisPHP and FastCGI goodness IIS 6 (Windows Server 2003) http://www.iis.net/php IIS 7 (Windows Vista SP1 and Server 2008) Ships with the product. Activate the CGI feature through Server Manager IIS 7.5 (Windows 7 and Server 2008R2) Supports Failed Request Tracing for FastCGI (PHP)
Setting up PHP on Windows & IIS Tim Keller Lead Developer Umoya Networks demo
Mission impossiblE Wait…what?
PHP Developers want: Multiple versions of PHP on one server.
Real-world PHP Tim Keller Lead Developer Umoya Networks demo
URL Rewriting Ever used mod_rewrite in Apache? http://timk.co.za/index.php?type=post&id=34becomes http://timk.co.za/post/34 IIS7 offers this, without the need for complex Regular Expressions
URL Rewrite Tim Keller Lead Developer Umoya Networks demo
PowerShell and IIS Powerful command line for Windows With IIS7.5 you can manipulate your IIS config using PowerShell Create websites Manage Security Configure FastCGI Much more
SQL Server and PHPAn INNER JOIN made in heaven? Simple Goal To provide robust, scalable, and reliable SQL Server connectivity to PHP developers targeting the Windows platform. Built by Microsoft with community feedback Version 1.0 released July 2008 http://blogs.msdn.com/sqlphp/ Microsoft working with SugarCRM (PHP app)
ASP.NET AJAX and PHP Take back the web, sorta.
What is AJAX? Traditional Client/Server AJAX Paradigm User Interface User Interface Ajax Engine Request Response Web Server Web Server
What AJAX (sometimes) means DHTML: HTML + Javascript Animations Drag and Drop Show and Hide Partial page updates User interface makes background calls to server AJA* : XML, HTML, Text, JSON…
ASP.NET AJAX A library in three parts MS Ajax LibraryJavascript files for the frontend ASP.Net Ajax ExtensionsServer-side .NET code ASP.Net Ajax Control Toolkit Shared-source components  The PHP MS AJAX library was released in 2008.  http://codeplex.com/phpmsajax
ASP.NET AJAX with PHP Tim Keller Lead Developer Umoya Networks demo
Silverlight from PHP
Hi, haaaave you met XAML? XML-based description of a Rich User Interface. Part of the Windows Presentation Foundation. PHP can easily output text/xml. XAML also supports UI Events. Which is cool. <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> 	<TextBlock>Hello World!</TextBlock>  </Canvas>
Silverlight from PHP Tim Keller Lead Developer Umoya Networks demo
Interoperability It’s about building relationships for the common good.
Call to actionWe want you! EnableFastCGI in IIS7 Install PHP Grab some cool PHP apps Tell your friends how great PHP is on IIS. Tweet about it!
Session Resources Web Platform Installerhttp://tinyurl.com/mswebplatform URL Rewrite in IIS7 http://www.iis.net/extensions/URLRewrite PHP on Windows central http://www.iis.net/php PHP builds and sourcecode for Windows http://windows.php.net Microsoft AJAX for PHP www.codeplex.com/phpmsajax Silverlight www.silverlight.net and http://tinyurl.com/sl3released
question & answer
Required Slide Speakers,  TechEd 2009 is not producing  a DVD. Please announce that  attendees can access session  recordings from Tech-Ed website.  These will only be available after the event. Tech·Ed Africa 2009 sessions will be made available for download  the week after the event from:  www.tech-ed.co.za www.microsoft.com/teched International Content & Community www.microsoft.com/learning Microsoft Certification & Training Resources http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers Resources
Related Content Required Slide Speakers,  please list the Breakout Sessions, TLC Interactive Theaters and Labs that are related to your session.  Any queries, please check with your  Track Owner. Breakout Sessions  WUX301 – Microsoft Codename Velocity (Mon, 15:45, C3) DTL302 – Embrace OpenSource on CodePlex(Tues, 12:00, A3) WSV309 – What’s new in Server Core for Windows Server 2008 (Tues, 14:30, D5) WUX302 – ASP.NET Under the covers (Tues, 17:30, C3) Whiteboard Sessions WTB216 – Web Development Whiteboard Discussion (Tuesday, 13:15-14:15, Room C1)
Required Slide 10 pairs of MP3 sunglasses to be won Complete a session evaluation and enter to win!
Required Slide © 2009 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.

More Related Content

What's hot

Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
Philip Tellis
 
Zendcon magento101
Zendcon magento101Zendcon magento101
Zendcon magento101
Mathew Beane
 
Adding_GD2_to_PHP_on_OS_X_Server_10_5_Leopard
Adding_GD2_to_PHP_on_OS_X_Server_10_5_LeopardAdding_GD2_to_PHP_on_OS_X_Server_10_5_Leopard
Adding_GD2_to_PHP_on_OS_X_Server_10_5_Leopard
tutorialsruby
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
tutorialsruby
 
Realtime with-websockets-2015
Realtime with-websockets-2015Realtime with-websockets-2015
Realtime with-websockets-2015
ColdFusionConference
 
Dating Pro Installation Instructions
Dating Pro Installation InstructionsDating Pro Installation Instructions
Dating Pro Installation Instructions
Pilot Group Ltd
 
Howto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyHowto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian Wheezy
openQRM Enterprise GmbH
 
Introduction to Apache Web Services using latex
 Introduction to Apache Web Services using latex Introduction to Apache Web Services using latex
Introduction to Apache Web Services using latex
Manash Kumar Mondal
 
Nginx Essential
Nginx EssentialNginx Essential
Nginx Essential
Gong Haibing
 
Apache windows
Apache windowsApache windows
Apache windows
mexxixxo
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM i
Zend by Rogue Wave Software
 
Its3 Drupal
Its3 DrupalIts3 Drupal
Its3 Drupal
guest954945a
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008
jorke
 
How to generate,collect and upload ocum logs
How to generate,collect and upload ocum logsHow to generate,collect and upload ocum logs
How to generate,collect and upload ocum logs
Ashwin Pawar
 
Apache
ApacheApache
Apache
rsibbaluca
 

What's hot (15)

Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Zendcon magento101
Zendcon magento101Zendcon magento101
Zendcon magento101
 
Adding_GD2_to_PHP_on_OS_X_Server_10_5_Leopard
Adding_GD2_to_PHP_on_OS_X_Server_10_5_LeopardAdding_GD2_to_PHP_on_OS_X_Server_10_5_Leopard
Adding_GD2_to_PHP_on_OS_X_Server_10_5_Leopard
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 
Realtime with-websockets-2015
Realtime with-websockets-2015Realtime with-websockets-2015
Realtime with-websockets-2015
 
Dating Pro Installation Instructions
Dating Pro Installation InstructionsDating Pro Installation Instructions
Dating Pro Installation Instructions
 
Howto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian WheezyHowto: Install openQRM 5.1 on Debian Wheezy
Howto: Install openQRM 5.1 on Debian Wheezy
 
Introduction to Apache Web Services using latex
 Introduction to Apache Web Services using latex Introduction to Apache Web Services using latex
Introduction to Apache Web Services using latex
 
Nginx Essential
Nginx EssentialNginx Essential
Nginx Essential
 
Apache windows
Apache windowsApache windows
Apache windows
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM i
 
Its3 Drupal
Its3 DrupalIts3 Drupal
Its3 Drupal
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008
 
How to generate,collect and upload ocum logs
How to generate,collect and upload ocum logsHow to generate,collect and upload ocum logs
How to generate,collect and upload ocum logs
 
Apache
ApacheApache
Apache
 

Similar to Windows Server and Fast CGI Technologies For PHP

phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
Katrien De Graeve
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
nusmas
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
guest0a62e8
 
Php On Windows
Php On WindowsPhp On Windows
Php On Windows
Guy Burstein
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
Ryan Davis
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
Manish Bothra
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
Ram Srivastava
 
Web Platform Installer Announcement
Web Platform Installer AnnouncementWeb Platform Installer Announcement
Web Platform Installer Announcement
Lauren Cooney
 
Web Platform Installer
Web Platform InstallerWeb Platform Installer
Web Platform Installer
komalhahi
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And Php
Pierre Joye
 
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War  - Building Interoperable Web Apps with PHP, PHP QuebecMake Web, Not War  - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web Not War
 
What's New in Visual Studio 2010
What's New in Visual Studio 2010What's New in Visual Studio 2010
What's New in Visual Studio 2010
Adil Mughal
 
Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!
DrupalDay
 
PHP on IBM i Tutorial
PHP on IBM i TutorialPHP on IBM i Tutorial
PHP on IBM i Tutorial
ZendCon
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP Developers
Wes Yanaga
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
Maarten Balliauw
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
John Calvert
 
PHP and Zend Framework on Windows
PHP and Zend Framework on WindowsPHP and Zend Framework on Windows
PHP and Zend Framework on Windows
Shahar Evron
 
Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.
Jenna Hoffman
 
Php verses .net
Php verses .netPhp verses .net
Php verses .net
CBitss Technologies
 

Similar to Windows Server and Fast CGI Technologies For PHP (20)

phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Php On Windows
Php On WindowsPhp On Windows
Php On Windows
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Web Platform Installer Announcement
Web Platform Installer AnnouncementWeb Platform Installer Announcement
Web Platform Installer Announcement
 
Web Platform Installer
Web Platform InstallerWeb Platform Installer
Web Platform Installer
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And Php
 
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War  - Building Interoperable Web Apps with PHP, PHP QuebecMake Web, Not War  - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP Quebec
 
What's New in Visual Studio 2010
What's New in Visual Studio 2010What's New in Visual Studio 2010
What's New in Visual Studio 2010
 
Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!Drupal Day 2011 - Webmatrix loves Drupal!
Drupal Day 2011 - Webmatrix loves Drupal!
 
PHP on IBM i Tutorial
PHP on IBM i TutorialPHP on IBM i Tutorial
PHP on IBM i Tutorial
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP Developers
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
PHP and Zend Framework on Windows
PHP and Zend Framework on WindowsPHP and Zend Framework on Windows
PHP and Zend Framework on Windows
 
Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.
 
Php verses .net
Php verses .netPhp verses .net
Php verses .net
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 

Windows Server and Fast CGI Technologies For PHP

  • 1.
  • 2.
  • 3. Windows Server & FastCGI technologies for PHP Tim Keller Lead Developer Umoya Networks · www.umoya.net DTL318
  • 4. PHP GATECRASHES A MICROSOFT EVENT
  • 5. PHP at a Microsoft eventWhat on earth? A Microsoft Primer for PHP developers A PHPPrimer for Microsoftdevelopers(more likely, since this is TechEd) Either way, welcome! Thanks for coming.
  • 6. Who am ITim Keller (@timkelleror timk.co.za) Your typical Mac/Linux type Lead Developer of a PHP-based cloud hosted tool for teachers and school admins, called staffroom Microsoft-friendly HI, I’M TIM KELLER LEAD PHP DEVELOPER www.mystaffroom.net tim@mystaffroom.net
  • 7. GoalsGood intensions Show you some cool stuff Tell you where you can get it Tell you where you can learn more Answer questions Go have a beer with all of you
  • 8. Stuff we’ll talk about6 things. Simple. Microsoft and Opensource PHP and IIS Powershell for IIS SQL Server Driver for PHP Microsoft Ajax Library Silverlight and PHP
  • 9. TAG TWEETS WITH #techedsa2009 FOLLOW ME twitter.com/timkeller
  • 11. DeniaL It’s not just a river in Egypt.
  • 12. Microsoft and OpenSourceSurprising perhaps MS Redmond OSS lab Staffed by OSS and Linux experts 300 servers of varying types 340+ Linux distros available for testing Tests interoperability of OSS and Windows Research of OSS technologies
  • 13. Microsoft and OpenSourceSurprising perhaps Projects so far… Firefox Silverlight support Silverlight/Moonlight common standard Vista Firefox compatibility FastCGI hosting of PHP and Python on IIS SQL Server drivers for PHP and Java
  • 14. Microsoft and OpenSourceSurprising perhaps Active and Future projects PHP Active Directory integration PHP SharePoint integration SugarCRM SQL Server connectivity Windows - Apache build support/research
  • 16. BraverY Wounds Heal. Chicks dig scars. Glory lasts forever.
  • 20.
  • 22.
  • 23. PHP on Windows, with IIS
  • 24. PHP on WindowsIt’s actually been around for a long time Most PHP developers: Develop on Windows Deploy to Linux, BSD, *nix. Perception that PHP on IIS sucks (this was true) Often install Apache for Dev or Production
  • 26. FastCGI: Pooling and Caching HTTP Request index.php PHP PHP HTTP Request login.php PHP PHP FastCGI process pool for PHP5 PHP processes are reused. No process creation overhead = 20x performance increase HTTP Request header.php
  • 27. IIS7+ FastCGI HandlerBasic Architecture FastCGI process pool for PHP5 IIS Worker Process FastCGI protocol over named pipes or TCP php-cgi.exe FastCGI process pool for PHP4 Request queue php.exe
  • 28. CommunitY You’d be surprised what you can accomplish when you work with people who have common goals and ideals.
  • 29. 2006Zend and Microsoft announce collaboration 2007Zend and PHP Core Devs start optimising PHP5.2.x builds for windows. FastCGI extensions for IIS6. 2008MS release IIS7 with native FastCGI for PHP.
  • 30. 2008Microsoft’s Pierre Joye and the PHP community conduct major work on the PHP 5.3 codebase. Fixed 60+ Windows-specific bugs Updated every library to latest version (some were 10+ years old) Compiled PHP with VC++ 9 (VS 2008) x86 and x64 builds for Windows
  • 31. 2009 Microsoft release IIS 7.5 builds with Windows 7 and Server 2008 R2 builds. Zend ships Zend Core for Windows with Microsoft’s FastCGI implementation
  • 32. Popular Web Servers (June ‘09) IIS7 IIS6 IIS5 Courtesy:Netcraft Web Server Survey, June 2009.
  • 33. Where to get all thisPHP and FastCGI goodness IIS 6 (Windows Server 2003) http://www.iis.net/php IIS 7 (Windows Vista SP1 and Server 2008) Ships with the product. Activate the CGI feature through Server Manager IIS 7.5 (Windows 7 and Server 2008R2) Supports Failed Request Tracing for FastCGI (PHP)
  • 34. Setting up PHP on Windows & IIS Tim Keller Lead Developer Umoya Networks demo
  • 36. PHP Developers want: Multiple versions of PHP on one server.
  • 37. Real-world PHP Tim Keller Lead Developer Umoya Networks demo
  • 38. URL Rewriting Ever used mod_rewrite in Apache? http://timk.co.za/index.php?type=post&id=34becomes http://timk.co.za/post/34 IIS7 offers this, without the need for complex Regular Expressions
  • 39. URL Rewrite Tim Keller Lead Developer Umoya Networks demo
  • 40. PowerShell and IIS Powerful command line for Windows With IIS7.5 you can manipulate your IIS config using PowerShell Create websites Manage Security Configure FastCGI Much more
  • 41. SQL Server and PHPAn INNER JOIN made in heaven? Simple Goal To provide robust, scalable, and reliable SQL Server connectivity to PHP developers targeting the Windows platform. Built by Microsoft with community feedback Version 1.0 released July 2008 http://blogs.msdn.com/sqlphp/ Microsoft working with SugarCRM (PHP app)
  • 42. ASP.NET AJAX and PHP Take back the web, sorta.
  • 43. What is AJAX? Traditional Client/Server AJAX Paradigm User Interface User Interface Ajax Engine Request Response Web Server Web Server
  • 44. What AJAX (sometimes) means DHTML: HTML + Javascript Animations Drag and Drop Show and Hide Partial page updates User interface makes background calls to server AJA* : XML, HTML, Text, JSON…
  • 45. ASP.NET AJAX A library in three parts MS Ajax LibraryJavascript files for the frontend ASP.Net Ajax ExtensionsServer-side .NET code ASP.Net Ajax Control Toolkit Shared-source components The PHP MS AJAX library was released in 2008. http://codeplex.com/phpmsajax
  • 46. ASP.NET AJAX with PHP Tim Keller Lead Developer Umoya Networks demo
  • 48. Hi, haaaave you met XAML? XML-based description of a Rich User Interface. Part of the Windows Presentation Foundation. PHP can easily output text/xml. XAML also supports UI Events. Which is cool. <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <TextBlock>Hello World!</TextBlock> </Canvas>
  • 49. Silverlight from PHP Tim Keller Lead Developer Umoya Networks demo
  • 50. Interoperability It’s about building relationships for the common good.
  • 51. Call to actionWe want you! EnableFastCGI in IIS7 Install PHP Grab some cool PHP apps Tell your friends how great PHP is on IIS. Tweet about it!
  • 52. Session Resources Web Platform Installerhttp://tinyurl.com/mswebplatform URL Rewrite in IIS7 http://www.iis.net/extensions/URLRewrite PHP on Windows central http://www.iis.net/php PHP builds and sourcecode for Windows http://windows.php.net Microsoft AJAX for PHP www.codeplex.com/phpmsajax Silverlight www.silverlight.net and http://tinyurl.com/sl3released
  • 54. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings from Tech-Ed website. These will only be available after the event. Tech·Ed Africa 2009 sessions will be made available for download the week after the event from: www.tech-ed.co.za www.microsoft.com/teched International Content & Community www.microsoft.com/learning Microsoft Certification & Training Resources http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers Resources
  • 55. Related Content Required Slide Speakers, please list the Breakout Sessions, TLC Interactive Theaters and Labs that are related to your session. Any queries, please check with your Track Owner. Breakout Sessions WUX301 – Microsoft Codename Velocity (Mon, 15:45, C3) DTL302 – Embrace OpenSource on CodePlex(Tues, 12:00, A3) WSV309 – What’s new in Server Core for Windows Server 2008 (Tues, 14:30, D5) WUX302 – ASP.NET Under the covers (Tues, 17:30, C3) Whiteboard Sessions WTB216 – Web Development Whiteboard Discussion (Tuesday, 13:15-14:15, Room C1)
  • 56. Required Slide 10 pairs of MP3 sunglasses to be won Complete a session evaluation and enter to win!
  • 57. Required Slide © 2009 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.

Editor's Notes

  1. Met a couple of speakers in the lift last night… said I was doing the PHP talk… yeah…
  2. Q: Why are you here?
  3. For the longest time, Microsoft ignored OpenSource
  4. But that’s changed
  5. PHP Community develop on Windows (Zend Studio, etc) but DEPLOY to LinuxWindows = Performance vs. Reliability issueWindows: Heavy to start a process, light to start a threadLinux: Light to start a process, heavy to start a process
  6. Multiple versionsWordpressURLRewriting
  7. Multiple versionsWordpressURLRewriting