SlideShare ist ein Scribd-Unternehmen logo
1 von 12
MICROSOFT,
IIS7 AND PHP
Nick Hodge
MicrosoftAustralia
ProfessionalGeek
nhodge@microsoft.com
Jorke Odolphi
MicrosoftAustralia
Web Infrastructure Evangelist
jorkeo@microsoft.com
This is not your father’s Microsoft
IIS Request Processing
Server functionality is
split into ~ 40
modules...
Modules plug into a
generic request pipeline…
Modules extend
server functionality
through a public
moduleAPI.
Send Response
Log Compress
NTLM Basic
Determine
Handler
CGI
Static
File
ISAPI
Authentication
Anon
SendResponse
Authentication
Authorization
ResolveCache
ExecuteHandler
UpdateCache…
…
…
ASP.NET
PHP
Monolithic implementation
Install all or nothing…
Extend server functionality
only through ISAPI…
IIS 6.0 ASP.NET Processing
Runtime limitations
Only sees ASP.NET requests
Feature duplication
Send Response
Log Compress
NTLM Basic
Determine
Handler
CGI
Static
File
ISAPI
Authentication
Anon
…
…
Authentication
Forms Windows
Map
Handler
ASPX
Trace
…
…
…
aspnet_isapi.dll
IIS6 Application Framework
support
 Common Gateway Interface (CGI) for
CGI and PHP applications
 Benefits
 Very simple to implement and use – single-threaded execution
 Disadvantages
 Poor performance due to high process creation cost
 Creates and passes request data to a new CGI process
 Waits for CGI process to produce response
 Shuts down CGI process
IIS6 Application Framework
support
 Internet Server Application Programming Interface
(ISAPI)
 Benefit of ISAPI
 Can be extremely fast when written correctly
 Disadvantage of ISAPI
 Must be thread-safe (many PHP extensions are
not!)
 Requires development in C++
PHP Setup
Binaries
• Use zip file with non-thread safe binaries
• OR download PHP installer
Configure
php.ini
• fastcgi.impersonate = 1
• cgi.fix_pathinfo = 1
• open_basedir = “C:inetpubwebsiteFolder”
Configure IIS
• Enable CGI
• Configure FastCGI handler mapping for *.php
• Change FastCGI settings
Test that it
works
• C:phpphp-cgi.exe –info
• http://localhost/phpinfo.php
Per-site PHP configuration
Configuring FastCGI process pool
<fastCgi>
<application fullPath="C:PHPphp-cgi.exe" arguments="-d my.website=website1">
<environmentVariables>
<environmentVariable name="PHPRC" value="C:WebSiteswebsite1" />
</environmentVariables>
</application>
</fastCgi>
Combination of fullPath and arguments uniquely
identify FastCGI process pool definition
PHPRC environment variable
contains path to the php.ini file
IIS Extensions
 Mod_rewrite support for URL rewriting
SQLServer 2008
 Express version with Management Studio
 Free (as in beer) download
 MySQL .NET drivers (data import/export)
 Open source: Microsoft SQLServer Driver for
PHP
Resources
http://learn.iis.net
http://port25.technet.com
http://codeplex.com/
http://port25.technet.com/archive/2008/07/25/osp.aspx

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction To Iis 7
Introduction To Iis 7Introduction To Iis 7
Introduction To Iis 7
amit_monty
 
06.m3 cms set-upwebserver
06.m3 cms set-upwebserver06.m3 cms set-upwebserver
06.m3 cms set-upwebserver
tarensi
 

Was ist angesagt? (20)

A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Introduction to YII framework
Introduction to YII frameworkIntroduction to YII framework
Introduction to YII framework
 
IIS 7.0 +
IIS 7.0 +IIS 7.0 +
IIS 7.0 +
 
Introduction To Iis 7
Introduction To Iis 7Introduction To Iis 7
Introduction To Iis 7
 
yii1
yii1yii1
yii1
 
Version control in the Dynamics AX
Version control in the Dynamics AXVersion control in the Dynamics AX
Version control in the Dynamics AX
 
Low-Code Testing Tool
Low-Code Testing ToolLow-Code Testing Tool
Low-Code Testing Tool
 
PHP Symfony MicroServices Migration @MeeticTech
PHP Symfony MicroServices Migration @MeeticTechPHP Symfony MicroServices Migration @MeeticTech
PHP Symfony MicroServices Migration @MeeticTech
 
Yii framework
Yii frameworkYii framework
Yii framework
 
IIS
IISIIS
IIS
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Web technology
Web technologyWeb technology
Web technology
 
SP2010 Developer Tools
SP2010 Developer ToolsSP2010 Developer Tools
SP2010 Developer Tools
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
Reasons to Upgrade to DNN Evoq Content Version 7
Reasons to Upgrade to DNN Evoq Content Version 7Reasons to Upgrade to DNN Evoq Content Version 7
Reasons to Upgrade to DNN Evoq Content Version 7
 
06.m3 cms set-upwebserver
06.m3 cms set-upwebserver06.m3 cms set-upwebserver
06.m3 cms set-upwebserver
 
Understanding a web server and types of web servers ppt
Understanding a web server and types of web servers pptUnderstanding a web server and types of web servers ppt
Understanding a web server and types of web servers ppt
 
Get Started with ASP.NET Core Training, Tutorial - Beginner to Advance
Get Started with ASP.NET Core Training, Tutorial - Beginner to AdvanceGet Started with ASP.NET Core Training, Tutorial - Beginner to Advance
Get Started with ASP.NET Core Training, Tutorial - Beginner to Advance
 
Developing Sandbox Solutions
Developing Sandbox SolutionsDeveloping Sandbox Solutions
Developing Sandbox Solutions
 

Andere mochten auch

香港六合彩
香港六合彩香港六合彩
香港六合彩
香港六合彩香港六合彩
香港六合彩
香港六合彩香港六合彩
Popfly for Offline Demonstration :-)
Popfly for Offline Demonstration :-)Popfly for Offline Demonstration :-)
Popfly for Offline Demonstration :-)
Nick Hodge
 
香港六合彩
香港六合彩香港六合彩

Andere mochten auch (18)

Reactive programming
Reactive programmingReactive programming
Reactive programming
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Deakin
DeakinDeakin
Deakin
 
Introduction to web 2
Introduction to web 2Introduction to web 2
Introduction to web 2
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Tech ed au 2012 dev223
Tech ed au 2012 dev223Tech ed au 2012 dev223
Tech ed au 2012 dev223
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Acs south coast nsw openness
Acs south coast nsw opennessAcs south coast nsw openness
Acs south coast nsw openness
 
Popfly mashups for the masses
Popfly mashups for the massesPopfly mashups for the masses
Popfly mashups for the masses
 
Digital providentialism
Digital providentialismDigital providentialism
Digital providentialism
 
Programming language crisis
Programming language crisisProgramming language crisis
Programming language crisis
 
Mah tweets oss wp7
Mah tweets oss wp7Mah tweets oss wp7
Mah tweets oss wp7
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Future of digital aimia 2009
Future of digital aimia 2009Future of digital aimia 2009
Future of digital aimia 2009
 
This is Not Your Father's Microsoft
This is Not Your Father's MicrosoftThis is Not Your Father's Microsoft
This is Not Your Father's Microsoft
 
Popfly for Offline Demonstration :-)
Popfly for Offline Demonstration :-)Popfly for Offline Demonstration :-)
Popfly for Offline Demonstration :-)
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Jaoo irony
Jaoo ironyJaoo irony
Jaoo irony
 

Ähnlich wie Php iis microsoft

Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
Acquia
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008
Krit Kamtuo
 
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
rsnarayanan
 
Windows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application HostingWindows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application Hosting
Information Technology
 
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
TechdaysTunisia
 

Ähnlich wie Php iis microsoft (20)

Microsoft, PHP and IIS7
Microsoft, PHP and IIS7Microsoft, PHP and IIS7
Microsoft, PHP and IIS7
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
 
IIS7 As a Developer Platform
IIS7 As a Developer PlatformIIS7 As a Developer Platform
IIS7 As a Developer Platform
 
Windows Loves drupal
Windows Loves drupalWindows Loves drupal
Windows Loves drupal
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance Optimizations
 
Windows Server and Fast CGI Technologies For PHP
Windows Server and Fast CGI Technologies For PHPWindows Server and Fast CGI Technologies For PHP
Windows Server and Fast CGI Technologies For PHP
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008
 
PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's New
 
Wordpress On Windows
Wordpress On WindowsWordpress On Windows
Wordpress On Windows
 
Bringing Hosters and Developers Together with IIS7
Bringing Hosters and Developers Together with IIS7Bringing Hosters and Developers Together with IIS7
Bringing Hosters and Developers Together with IIS7
 
Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
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)
 
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
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
Running PHP on Windows Technical Overview
Running PHP on Windows Technical OverviewRunning PHP on Windows Technical Overview
Running PHP on Windows Technical Overview
 
Windows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application HostingWindows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application Hosting
 
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
 
The i7 Framework for System-i
The i7 Framework for System-iThe i7 Framework for System-i
The i7 Framework for System-i
 

Mehr von Nick Hodge

Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012
Nick Hodge
 
Victorian principals 17 may2007
Victorian principals 17 may2007Victorian principals 17 may2007
Victorian principals 17 may2007
Nick Hodge
 
Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012
Nick Hodge
 
Future Of Digital Aimia 2009
Future Of Digital Aimia 2009Future Of Digital Aimia 2009
Future Of Digital Aimia 2009
Nick Hodge
 

Mehr von Nick Hodge (18)

Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012
 
Victorian principals 17 may2007
Victorian principals 17 may2007Victorian principals 17 may2007
Victorian principals 17 may2007
 
Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012
 
Technology and politics digital marketing v5
Technology and politics digital marketing v5Technology and politics digital marketing v5
Technology and politics digital marketing v5
 
Technical windows 8 and windows phone 8 apps
Technical windows 8  and windows phone 8 appsTechnical windows 8  and windows phone 8 apps
Technical windows 8 and windows phone 8 apps
 
Tech ed au 2012 dev212
Tech ed au 2012 dev212Tech ed au 2012 dev212
Tech ed au 2012 dev212
 
SyPy IronPython
SyPy IronPythonSyPy IronPython
SyPy IronPython
 
Stealth PHP on IIS :-)
Stealth PHP on IIS :-)Stealth PHP on IIS :-)
Stealth PHP on IIS :-)
 
Prototyping
PrototypingPrototyping
Prototyping
 
Osdc php preday odata 2011
Osdc php preday odata 2011Osdc php preday odata 2011
Osdc php preday odata 2011
 
Nsw public sector architects
Nsw public sector architectsNsw public sector architects
Nsw public sector architects
 
Mobile marketing
Mobile marketingMobile marketing
Mobile marketing
 
Microsoft gcio nsw 30 apr2008
Microsoft gcio nsw 30 apr2008Microsoft gcio nsw 30 apr2008
Microsoft gcio nsw 30 apr2008
 
Microsoft and opensource ms ps 2011
Microsoft and opensource ms ps 2011Microsoft and opensource ms ps 2011
Microsoft and opensource ms ps 2011
 
Digital memories
Digital memoriesDigital memories
Digital memories
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile services
 
WebDU part deux
WebDU part deuxWebDU part deux
WebDU part deux
 
Future Of Digital Aimia 2009
Future Of Digital Aimia 2009Future Of Digital Aimia 2009
Future Of Digital Aimia 2009
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Php iis microsoft

  • 1. MICROSOFT, IIS7 AND PHP Nick Hodge MicrosoftAustralia ProfessionalGeek nhodge@microsoft.com Jorke Odolphi MicrosoftAustralia Web Infrastructure Evangelist jorkeo@microsoft.com
  • 2. This is not your father’s Microsoft
  • 3.
  • 4. IIS Request Processing Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public moduleAPI. Send Response Log Compress NTLM Basic Determine Handler CGI Static File ISAPI Authentication Anon SendResponse Authentication Authorization ResolveCache ExecuteHandler UpdateCache… … … ASP.NET PHP Monolithic implementation Install all or nothing… Extend server functionality only through ISAPI…
  • 5. IIS 6.0 ASP.NET Processing Runtime limitations Only sees ASP.NET requests Feature duplication Send Response Log Compress NTLM Basic Determine Handler CGI Static File ISAPI Authentication Anon … … Authentication Forms Windows Map Handler ASPX Trace … … … aspnet_isapi.dll
  • 6. IIS6 Application Framework support  Common Gateway Interface (CGI) for CGI and PHP applications  Benefits  Very simple to implement and use – single-threaded execution  Disadvantages  Poor performance due to high process creation cost  Creates and passes request data to a new CGI process  Waits for CGI process to produce response  Shuts down CGI process
  • 7. IIS6 Application Framework support  Internet Server Application Programming Interface (ISAPI)  Benefit of ISAPI  Can be extremely fast when written correctly  Disadvantage of ISAPI  Must be thread-safe (many PHP extensions are not!)  Requires development in C++
  • 8. PHP Setup Binaries • Use zip file with non-thread safe binaries • OR download PHP installer Configure php.ini • fastcgi.impersonate = 1 • cgi.fix_pathinfo = 1 • open_basedir = “C:inetpubwebsiteFolder” Configure IIS • Enable CGI • Configure FastCGI handler mapping for *.php • Change FastCGI settings Test that it works • C:phpphp-cgi.exe –info • http://localhost/phpinfo.php
  • 9. Per-site PHP configuration Configuring FastCGI process pool <fastCgi> <application fullPath="C:PHPphp-cgi.exe" arguments="-d my.website=website1"> <environmentVariables> <environmentVariable name="PHPRC" value="C:WebSiteswebsite1" /> </environmentVariables> </application> </fastCgi> Combination of fullPath and arguments uniquely identify FastCGI process pool definition PHPRC environment variable contains path to the php.ini file
  • 10. IIS Extensions  Mod_rewrite support for URL rewriting
  • 11. SQLServer 2008  Express version with Management Studio  Free (as in beer) download  MySQL .NET drivers (data import/export)  Open source: Microsoft SQLServer Driver for PHP