SlideShare a Scribd company logo

Rev it up with php on windows

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.

1 of 17
Download to read offline
/Web
Rev it up with PHP and IIS
Josh Holmes
Architect Evangelist
Microsoft Corporation
josh.holmes@microsoft.com
@joshholmes
Mark Brown
Web Platform Team
Microsoft Corporation
mark.brown@microsoft.com
@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
Ad

Recommended

Wordpress On Windows
Wordpress On WindowsWordpress On Windows
Wordpress On WindowsJosh Holmes
 
Scaling WordPress on Microsoft
Scaling WordPress on MicrosoftScaling WordPress on Microsoft
Scaling WordPress on MicrosoftJosh Holmes
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on WindowsJosh Holmes
 
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingJosh Holmes
 
Php Performance On Windows
Php Performance On WindowsPhp Performance On Windows
Php Performance On Windowsruslany
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008Krit Kamtuo
 
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 and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsAlessandro Pilotti
 

More Related Content

What's hot

How to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadminHow to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadminSandy Ra
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And PhpPierre Joye
 
Chapter 1
Chapter 1Chapter 1
Chapter 1Uma Sam
 
introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)Assay Khan
 
Hosting a website on IIS Server
Hosting a website on IIS ServerHosting a website on IIS Server
Hosting a website on IIS ServerDinesh Vasamshetty
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06YUCHENG HU
 
Application Syndication Whitepaper
Application Syndication WhitepaperApplication Syndication Whitepaper
Application Syndication Whitepaperaboutouria
 
Php hypertext Preprocessor
Php hypertext PreprocessorPhp hypertext Preprocessor
Php hypertext PreprocessorMrsRLakshmiIT
 
Open Mic IBM connections and IBM Verse on premise integration
Open Mic IBM connections and IBM Verse on premise integrationOpen Mic IBM connections and IBM Verse on premise integration
Open Mic IBM connections and IBM Verse on premise integrationjayeshpar2006
 
Browser Exploitation Framework Tutorial
Browser Exploitation Framework TutorialBrowser Exploitation Framework Tutorial
Browser Exploitation Framework Tutorialimlaurel2
 
It’s a WIN, WIN: ‘WordPress On Windows’
It’s a WIN, WIN: ‘WordPress On Windows’It’s a WIN, WIN: ‘WordPress On Windows’
It’s a WIN, WIN: ‘WordPress On Windows’Brendan Sera-Shriar
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016Octavio Andrés Cifuentes
 
Open Mic - IBM Sametime Proxy Clustering
Open Mic - IBM Sametime Proxy ClusteringOpen Mic - IBM Sametime Proxy Clustering
Open Mic - IBM Sametime Proxy Clusteringjayeshpar2006
 
Perforce CMS
Perforce CMSPerforce CMS
Perforce CMSPerforce
 

What's hot (20)

How to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadminHow to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And Php
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
IIS PPT (1)
IIS PPT (1)IIS PPT (1)
IIS PPT (1)
 
introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)
 
Hosting a website on IIS Server
Hosting a website on IIS ServerHosting a website on IIS Server
Hosting a website on IIS Server
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06
 
Locking Down CF Servers
Locking Down CF ServersLocking Down CF Servers
Locking Down CF Servers
 
Application Syndication Whitepaper
Application Syndication WhitepaperApplication Syndication Whitepaper
Application Syndication Whitepaper
 
Php hypertext Preprocessor
Php hypertext PreprocessorPhp hypertext Preprocessor
Php hypertext Preprocessor
 
Open Mic IBM connections and IBM Verse on premise integration
Open Mic IBM connections and IBM Verse on premise integrationOpen Mic IBM connections and IBM Verse on premise integration
Open Mic IBM connections and IBM Verse on premise integration
 
Browser Exploitation Framework Tutorial
Browser Exploitation Framework TutorialBrowser Exploitation Framework Tutorial
Browser Exploitation Framework Tutorial
 
It’s a WIN, WIN: ‘WordPress On Windows’
It’s a WIN, WIN: ‘WordPress On Windows’It’s a WIN, WIN: ‘WordPress On Windows’
It’s a WIN, WIN: ‘WordPress On Windows’
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Welcome to the World of WordPress
Welcome to the World of WordPressWelcome to the World of WordPress
Welcome to the World of WordPress
 
Lamp
LampLamp
Lamp
 
Open Mic - IBM Sametime Proxy Clustering
Open Mic - IBM Sametime Proxy ClusteringOpen Mic - IBM Sametime Proxy Clustering
Open Mic - IBM Sametime Proxy Clustering
 
Perforce CMS
Perforce CMSPerforce CMS
Perforce CMS
 
Alfresco
AlfrescoAlfresco
Alfresco
 

Similar to Rev it up with php on windows

PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's NewZendCon
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Servicesrsnarayanan
 
Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.Jenna Hoffman
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIvo Jansch
 
Develop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on AzureDevelop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on AzureValent Mustamin
 
Microsoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerMicrosoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerGeorge Kanellopoulos
 
OWA And SharePoint Integration
OWA And SharePoint IntegrationOWA And SharePoint Integration
OWA And SharePoint Integrationjems7
 
IIS for Developers
IIS for DevelopersIIS for Developers
IIS for DevelopersIdo Flatow
 
Php apache vs iis By Hafedh Yahmadi
Php apache vs iis  By Hafedh YahmadiPhp apache vs iis  By Hafedh Yahmadi
Php apache vs iis By Hafedh YahmadiTechdaysTunisia
 
Cooking with Chef on Windows
Cooking with Chef on WindowsCooking with Chef on Windows
Cooking with Chef on WindowsJulian Dunn
 
Strategic Modernization with PHP on IBM i
Strategic Modernization with PHP on IBM iStrategic Modernization with PHP on IBM i
Strategic Modernization with PHP on IBM iAlan Seiden
 
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
 
Configuring and Testing PHP Support in Microsoft Windows 2000 ...
Configuring and Testing PHP Support in Microsoft Windows 2000 ...Configuring and Testing PHP Support in Microsoft Windows 2000 ...
Configuring and Testing PHP Support in Microsoft Windows 2000 ...webhostingguy
 
Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar litbbsr
 
Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar litbbsr
 

Similar to Rev it up with php on windows (20)

PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's New
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Services
 
Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.Microsoft loves PHP. Seriously.
Microsoft loves PHP. Seriously.
 
Php On Windows
Php On WindowsPhp On Windows
Php On Windows
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web Services
 
Develop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on AzureDevelop and Run PHP on Windows. Say(Hello); to WordPress on Azure
Develop and Run PHP on Windows. Say(Hello); to WordPress on Azure
 
Microsoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerMicrosoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform Installer
 
OWA And SharePoint Integration
OWA And SharePoint IntegrationOWA And SharePoint Integration
OWA And SharePoint Integration
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
IIS for Developers
IIS for DevelopersIIS for Developers
IIS for Developers
 
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
 
Php unit i
Php unit i Php unit i
Php unit i
 
Php apache vs iis By Hafedh Yahmadi
Php apache vs iis  By Hafedh YahmadiPhp apache vs iis  By Hafedh Yahmadi
Php apache vs iis By Hafedh Yahmadi
 
Cooking with Chef on Windows
Cooking with Chef on WindowsCooking with Chef on Windows
Cooking with Chef on Windows
 
Strategic Modernization with PHP on IBM i
Strategic Modernization with PHP on IBM iStrategic Modernization with PHP on IBM i
Strategic Modernization with PHP on IBM i
 
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)
 
Configuring and Testing PHP Support in Microsoft Windows 2000 ...
Configuring and Testing PHP Support in Microsoft Windows 2000 ...Configuring and Testing PHP Support in Microsoft Windows 2000 ...
Configuring and Testing PHP Support in Microsoft Windows 2000 ...
 
Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar
 
Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar
 
Word camp microsoft web platform
Word camp microsoft web platformWord camp microsoft web platform
Word camp microsoft web platform
 

More from Josh Holmes

Mentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkMentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkJosh Holmes
 
Tips from a grizzled speaker
Tips from a grizzled speakerTips from a grizzled speaker
Tips from a grizzled speakerJosh Holmes
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkJosh Holmes
 
Touch me, I Dare You...
Touch me, I Dare You...Touch me, I Dare You...
Touch me, I Dare You...Josh Holmes
 
Cloud becomingreality
Cloud becomingrealityCloud becomingreality
Cloud becomingrealityJosh Holmes
 
F as in failure slideshare
F as in failure   slideshareF as in failure   slideshare
F as in failure slideshareJosh Holmes
 
Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Josh Holmes
 
Cloud by Numbers
Cloud by NumbersCloud by Numbers
Cloud by NumbersJosh Holmes
 
So you want to be an architect
So you want to be an architectSo you want to be an architect
So you want to be an architectJosh Holmes
 
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on AzureJosh Holmes
 
Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Josh Holmes
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping WellJosh Holmes
 
Moving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudMoving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudJosh Holmes
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftJosh Holmes
 
The Lost Art of Simplicity
The Lost Art of SimplicityThe Lost Art of Simplicity
The Lost Art of SimplicityJosh Holmes
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOOJosh Holmes
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with SilverlightJosh Holmes
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst RiaJosh Holmes
 
32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From SuckingJosh Holmes
 

More from Josh Holmes (20)

Mentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkMentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talk
 
Tips from a grizzled speaker
Tips from a grizzled speakerTips from a grizzled speaker
Tips from a grizzled speaker
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor Talk
 
Touch me, I Dare You...
Touch me, I Dare You...Touch me, I Dare You...
Touch me, I Dare You...
 
Cloud becomingreality
Cloud becomingrealityCloud becomingreality
Cloud becomingreality
 
F as in failure slideshare
F as in failure   slideshareF as in failure   slideshare
F as in failure slideshare
 
Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?
 
Cloud by Numbers
Cloud by NumbersCloud by Numbers
Cloud by Numbers
 
So you want to be an architect
So you want to be an architectSo you want to be an architect
So you want to be an architect
 
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on Azure
 
Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010
 
MODx on Windows
MODx on WindowsMODx on Windows
MODx on Windows
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping Well
 
Moving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudMoving Enterprise Applications To The Cloud
Moving Enterprise Applications To The Cloud
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and Microsoft
 
The Lost Art of Simplicity
The Lost Art of SimplicityThe Lost Art of Simplicity
The Lost Art of Simplicity
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOO
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with Silverlight
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst Ria
 
32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking
 

Recently uploaded

Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVARobert McDermott
 
H3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptxH3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptxMemory Fabric Forum
 
Curtain Module Manual Zigbee Neo CS01-1C.pdf
Curtain Module Manual Zigbee Neo CS01-1C.pdfCurtain Module Manual Zigbee Neo CS01-1C.pdf
Curtain Module Manual Zigbee Neo CS01-1C.pdfDomotica daVinci
 
My self introduction to know others abut me
My self  introduction to know others abut meMy self  introduction to know others abut me
My self introduction to know others abut meManoj Prabakar B
 
How to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response PlanHow to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response PlanDatabarracks
 
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERNRonnelBaroc
 
Importance of magazines in education ppt
Importance of magazines in education pptImportance of magazines in education ppt
Importance of magazines in education pptsafnarafeek2002
 
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions..."How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...Fwdays
 
Confoo 2024 Gettings started with OpenAI and data science
Confoo 2024 Gettings started with OpenAI and data scienceConfoo 2024 Gettings started with OpenAI and data science
Confoo 2024 Gettings started with OpenAI and data scienceSusan Ibach
 
From Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+PluginsFrom Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+PluginsInflectra
 
M.Aathiraju Self Intro.docx-AD21001_____
M.Aathiraju Self Intro.docx-AD21001_____M.Aathiraju Self Intro.docx-AD21001_____
M.Aathiraju Self Intro.docx-AD21001_____Aathiraju
 
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?GleecusTechlabs1
 
AI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvementAI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvementMimmo Squillace
 
Traffic Signboard Classification with Voice alert to the driver.pptx
Traffic Signboard Classification with Voice alert to the driver.pptxTraffic Signboard Classification with Voice alert to the driver.pptx
Traffic Signboard Classification with Voice alert to the driver.pptxharimaxwell0712
 
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17Ana-Maria Mihalceanu
 
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdf
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdfLLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdf
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdfThomas Poetter
 
Campotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotelPhilippines
 
LF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIELF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIEDanBrown980551
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr TsapFwdays
 

Recently uploaded (20)

Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVA
 
H3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptxH3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptx
 
Curtain Module Manual Zigbee Neo CS01-1C.pdf
Curtain Module Manual Zigbee Neo CS01-1C.pdfCurtain Module Manual Zigbee Neo CS01-1C.pdf
Curtain Module Manual Zigbee Neo CS01-1C.pdf
 
My self introduction to know others abut me
My self  introduction to know others abut meMy self  introduction to know others abut me
My self introduction to know others abut me
 
How to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response PlanHow to write an effective Cyber Incident Response Plan
How to write an effective Cyber Incident Response Plan
 
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
 
Importance of magazines in education ppt
Importance of magazines in education pptImportance of magazines in education ppt
Importance of magazines in education ppt
 
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions..."How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
"How we created an SRE team in Temabit as a part of FOZZY Group in conditions...
 
Confoo 2024 Gettings started with OpenAI and data science
Confoo 2024 Gettings started with OpenAI and data scienceConfoo 2024 Gettings started with OpenAI and data science
Confoo 2024 Gettings started with OpenAI and data science
 
From Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+PluginsFrom Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
 
M.Aathiraju Self Intro.docx-AD21001_____
M.Aathiraju Self Intro.docx-AD21001_____M.Aathiraju Self Intro.docx-AD21001_____
M.Aathiraju Self Intro.docx-AD21001_____
 
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
 
AI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvementAI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvement
 
Traffic Signboard Classification with Voice alert to the driver.pptx
Traffic Signboard Classification with Voice alert to the driver.pptxTraffic Signboard Classification with Voice alert to the driver.pptx
Traffic Signboard Classification with Voice alert to the driver.pptx
 
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
 
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdf
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdfLLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdf
LLMs, LMMs, their Improvement Suggestions and the Path towards AGI.pdf
 
Campotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company Profile
 
LF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIELF Energy Webinar: Introduction to TROLIE
LF Energy Webinar: Introduction to TROLIE
 
5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
 

Rev it up with php on windows

  • 1. /Web Rev it up with PHP and IIS Josh Holmes Architect Evangelist Microsoft Corporation josh.holmes@microsoft.com @joshholmes Mark Brown Web Platform Team Microsoft Corporation mark.brown@microsoft.com @markjbrown
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. PHP 5.3 • Updated code base • Native Win32 instead of POSIX • Latest compiler VC9 • Use Non-Thread-Safe builds for better performance.
  • 8. 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/
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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)
  • 14. START RIGHT HERE PHP on Windows microsoft.com/web/php
  • 15. 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.
  • 17. © 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.

Editor's Notes

  1. So the prevailing notion among many in the web is that running PHP on Windows is largely a joke. For many years the ability to run PHP on Windows meant two options: Run PHP using CGI, which for many was stable but really slow. Or run PHP using the ISAPI module which was faster, but incredibly unstable. Other things were missing as well including a good option for clean URL’s and caching So beginning in 2007 Microsoft set about to change that and for roughly the last 4 years we have been making some huge changes and improvements to both our web platform in Windows Server and IIS as well as working with the PHP Group itself to make PHP better on Windows as well as provide URL rewriting capabilities and caching as well. Today I am going to talk to you about each of the things we’ve been doing and talking to you about how they have made PHP on Windows not just possible but for many of you, actually a smart and pragmatic approach to your hosted offerings.
  2. IIS IIS 7.0 is a from the ground up rewrite over the previous versions and with a new architecture. Default Min Install: The new IIS 7.0 architecture and default minimum install enables a significant reduction in attack surface making it far more secure. Modular Architecture: Previous versions of IIS were difficult to customize or streamline for high performance applications. This new modular architecture makes it far easier to create modules and handlers at any point in the processing pipeline. You also don’t have to write these modules in C++ anymore either. You can create them in managed code far faster and with excellent performance. Streamlined Processing Pipeline: The modular architecture allows for a streamlined processing pipeline. Load only what modules you need for much better performance. Web Config: The new configuration system in IIS 7.0 loads configuration files—similar to .htaccess files in Apache—and manages them in a cache after first read. All subsequent requests use the cached configuration and the new configuration cache consumes significantly less memory than the equivalent in Apache. IIS 7.0 also includes caching support for all types of dyn amic content.
  3. Fast CGI With the release of FastCGI first time you could actually consider hosting php on win/iis, production quality, no more crashes. Previously you had two options to host PHP, CGI or PHP ISAPI. CGI was stable but very slow because you had to spin up a new process for each new PHP request. ISAPI was faster but since many popular extensions for PHP were not thread safe this caused major issues with stability. FastCGI handles PHP requests out of an app pool rather than spinning up a new one each time. FastCGI provides optimal PHP performance without having to manually tune: Fast CGI provides Automatic performance tuning. Determines: CPU usage, memory consumption, context switches. Based upon that information it changes the number of PHP processes to optimize your application automatically. (Sets Dynamic Max Instances) Very important if you are a hoster managing many customers since it allows for a higher density of PHP applications on Windows than you could get before or a customer with an app that has large changes in requests over time. Automatic recycling of PHP processes in IIS when php.ini changes. No longer need to restart IIS. Version 1.5 now has a consistent set of features across all versions of IIS. This is important as a significant number of PHP developers still use XP. This will allow them to develop and deploy seamlessly to Windows Server. Version 1.5 of Fast-CGI is included in Windows Server 2008 R2 (IIS 7.5), an update is available for IIS 7 along with a back-port for those using XP. Another useful feature I wanted to point out here as well is you can provide to your customers developing or running PHP on Windows/IIS is the Advanced Logging module in IIS which you can use to consolidate event reporting for PHP itself as well as from IIS. This will help your customers consolidate application performance reporting, good for tracking failed requests or other issues in your php application. No need to have separate error log files for webserver and php.
  4. Compile and file operations on Windows are slower than on linux. Many more security checks, etc. Many PHP developers on Linux use other caching mechanisms such as memcache or APC. There are no good open source solutions for caching on Windows WinCache is our solution to help provide even more performance for PHP on Windows. Opcode cache – this is a cache of the compiled PHP file. WinCache let PHP core compile the PHP file to generate opcodes first time it is executed. Then caches these opcodes in memory and is shared with other PHP processes Increasing performance, especially on subsequent access to the executable code. Can expect a 100%-200% increase in performance. File cache – File IO operations on Windows are much more expensive than on Linux. For files on UNC’s or NFS in hosting environments scenarios it is even worse. File Cache stores the contents of opened files in shared memory. This increases performance 80-90% over accessing the files each time from a shared location. Resolve File Path cache – On first access a PHP application will work to determine the absolute path to a file to then open it This feature is used to store the absolute path from relative file paths used in PHP applications. Again, anything to reduce usage of the file systems calls produces performance gains. Session Cache: The session cache will take and store session data in shared memory cache instead of file system for added performance benefits. Currently this feature cannot be used in a webfarm where there is no session affinity. User Data Cache API’s: Provides caching functions(API’s) with the Can be used by PHP applications for storing variables and objects in shared memory using WinCache instead of PHPs cache. You can cache database data, php data, classes, etc. Overall just closing the feature gap to APC, etc. trying to have a complete solution. WinCache Statistics Script – This thing is very cool and you should check it out. Great for helping you benchmark and fine tune your PHP applications on Windows. Is installed with the WinCache for PHP. PS: this file is protected by default with HTTP basic authentication so if you do provide this for your customers. Just an FYI.
  5. So prior to PHP 5.3 the PHP engine itself wasn’t mature on Windows, causing compatibility and performance problems. Implemented with APR (Apache portable runtime) instead of directly on Win32 created subpar performance Also many Windows-specific PHP bugs hadn’t been fixed There were as I mentioned earlier issues with hosting on IIS itself with the slow CGI or unstable ISAPI handler. Using FastCGI provided the fix for that part. The next piece was… PHP 5.3 Has an updated code base Much of PHP for Windows completely rewritten to use native Win32 instead of through the POSIX layer Also compiled using our latest compiler VC9 versus VC 6 which was 10 years old Use the NTS version. No thread safety checks since PHP runs Single threaded on IIS in FastCGI. Reason for NTS is that many of the most popular community extensions themselves are NTS themselves, making NTS the default on Windows is the safest route for stability. Btw, Anybody know who this guy Rasmus guy is? PS: The Web App Gallery is still using 5.2.x (app requirement) but we are getting close to having multiple versions of PHP available for
  6. PHP Manager for IIS 7 is a open source extension for IIS Management Console, that greatly simplifies the tasks of setting up, configuring and managing one or more PHP versions on IIS server. Use it to register PHP with IIS, run multiple PHP versions, get the information about PHP runtime settings, add and modify php.ini directives and enable or disable PHP extensions. Features: Simple registration of many PHP versions with IIS An easy way of checking if PHP works correctly by geting the output of phpinfo() function Configuring the PHP error reproting settings for production or development environment Managing all php.ini directives and PHP extensions from within IIS manager Remote PHP administration via IIS Remote Administration Tool Works well with PHP installed via Web Platform Installer or PHP Windows Installer http://phpmanager.codeplex.com/releases/view/53121