SlideShare a Scribd company logo
PHP on Windows
PHP on WindowsMaarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
Who am I?Maarten BalliauwAntwerp, Belgiumwww.realdolmen.comFocus on webASP.NET, ASP.NET MVC, PHP, Azure, VSTS, …MVP ASP.NETInterested in interoperabilityPHPExcel, PHPLinq, Windows Azure SDK for PHP, ...http://blog.maartenballiauw.behttp://twitter.com/maartenballiauw
AgendaWhy PHP matters…An overview of initiativesPHP core developmentFastCGIWinCache extensionSQL Server driver for PHPMicrosoft Web Platform InstallerSDK’sToolingSEO Optimization ToolResourcesQ&A
Why PHP matters…Web applicationsWordpressDrupalJoomlaphpBBMediaWikiSugarCRMGallery2Commercial entitiesYahoo!FlickrDiggFacebookYouTubeWikipedia Hard to ignore!
PHP on WindowsIf PHP matters, better make it a first-class citizen…
Microsoft and the PHP CommunityBeforeNow
http://windows.php.net
PHP 5.3 on WindowsIs the most significant update to PHP on Windows!All libraries updated to latest versions(in some cases newer versions that used on Linux)Re-write of the build system from scratchTop PHP Windows community programmer working for Microsoft (Pierre Joye)Build with VS 2008Available in 32 and 64 bit versionCreated windows.php.net99% of all POSIX calls changed to native Windows calls
By the numbers: Running PHPBench looped 5xBoth computers are a HP 8 core (2 procs x Quad core) 16gb ram.Linux (Centos 5.2) vs. Windows Server 2008 x86NOTE: phpbench onlytests internal PHP engineperformance. It doesnot do IO of any kind.
FastCGI on IISHow and where will my application run?
PHP on Windows – HistoryIIS support has been there for a long timeApache runs on Windows as wellBut…IIS gives best performance on WindowsUnfortunately the choice was always between stability and performance…
Allow me to explain…
And along came improvement!
FastCGI
DemoFastCGI on IIS
IIS execution pipelineSince your PHP app is part of the IIS execution pipeline……you can use IIS URL rewriting…you can use IIS as a load balancer (ARR)www.viprive.com…you can use any HttpModule out thereASP.NET membership / authenticationOutput caching…
WinCache extensionMaking it even faster…
Windows Cache Extension (“WinCache”)PHP module for 5.2 and 5.3IIS specific PHP acceleratorSo only works in IIS!No code modifications needed in your applicationCache layers:Bytecode cache – Caches compiled PHP scriptsScript cache – Cache script sources in memory to reduce I/O access and UNC file share accessRelative file path cache – Caches relative file pathSession cache – Sessions stored in shared memoryPHP functions to obtain information about the cache statushttp://www.iis.net/download/WinCacheForPhp
DemoWinCache extension
SQL Server Driver for PHPData access should be fast as well!
SQL Server Driver for PHP v1.1PHP extension for WindowsSo only works on Windows!Reliable, scalable and fast integration with SQL Server for PHPRelies on the Microsoft SQL Server Native Client to communicate with SQL Server.http://bit.ly/cwDLR1
“Did you just forgetto mention PDO support?”
No, there is no PDO support. Oh, wait!Unless you want the new CTP bits!SQL Server Driver for PHP v2.0 CTPSupport for PHP Data Objects (PDO)Better UTF-8 supportExample: Drupal 7 on SQL Serverhttp://www.commerceguys.com/about/news/drupal-7-sql-server-previewhttp://bit.ly/cjGvO3
Here are your options!
DemoSQL Server Driver for PHP
Microsoft Web Platform Installer“Yum for Windows”?
Easy installation of YOUR environmentEasy installer providingPlatform installation (IIS, extra modules, configuration, …)Both ASP.NET and PHPApplication installationBoth ASP.NET and PHPhttp://microsoft.com/web
DemoWeb Platform Installer
SDK’sWhat else is out there?
Microsoft and PHP = LOTS of goodiesSome highlights…SQL Server Reporting Services SDK for PHPOData SDK for PHPWindows Azure Tools for EclipseWindows Azure SDK for PHPAppFabric SDK for PHPWindows Azure Command-Line Tools for PHPEclipse Tools for SilverlightInformation Cards for PHPInternet Explorer Webslices and Accelerators for PHPPHP and SilverlightSQL CRUD ApplicationWizard for PHP Toolkit for PHP and Bing MapsOverview: http://www.interoperabilitybridges.com/
SQL Server Reporting Services SDK for PHPSSRS?Reporting tool in SQL ServerVery powerful!Various output formatsCan be linked to MySQL, PostgreSQL, …API to interoperate with SQL Server Reporting ServicesList available reports within a PHP applications,Provide custom parameters from a PHP web form,Manage the rendering of the reports within a PHP applicationhttp://ssrsphp.codeplex.com
OData SDK for PHPOData?Open Data ProtocolUnlock your data and free it from silos that exist in applications todayBuilds on HTTP, AtomPub and JSONRESTful interfaceWay data is delivered in MS CN “Dallas”API to ODataGenerate proxy classes to OData feedsCRUD on OData feedshttp://odataphp.codeplex.com/
OData SDK for PHP/* connect to the OData service  */   $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);/* get the list of Customers in the USA +the list of Orders */    $query = $svc->Customers()                 ->filter("Country eq 'USA'")                 ->Expand('Orders');    $customerResponse = $query->Execute();/* get only CustomerID and CustomerName */    $query = $svc->Customers()                 ->filter("Country eq 'USA'")                 ->Select('CustomerID, CustomerName');    $customerResponse = $query->Execute();/* create a new customer */    $customer = Customers::CreateCustomers('channel9', 'CHAN9');    $proxy->AddToCustomers($customer); /* commit the change on the server */            $proxy->SaveChanges();
Windows AzureMicrosoft’s Cloud Computing offeringWeb/worker role (= virtual machine)Blobs, tables, queues, drives (= storage)SQL Azure (= +/- SQL Server)AppFabric (= access control & firewall punching)“Dallas” (= Data-as-a-Service)Working with PHPWindows Azure Tools for EclipseWindows Azure SDK for PHPAppFabric SDK for PHPWindows Azure Command-Line Tools for PHPZend Framework contribution
ToolingHow do I use all this?
Microsoft Expression Web
Windows Azure Tools for Eclipse
Silverlight Tools for Eclipse
SEO Optimization Tool
What’s in the cloud?ResourcesWhere can I learn more?
ResourcesMicrosoft Windows Azure Interophttp://www.microsoft.com/windowsazure/interop/InteropBridgeshttp://www.interoperabilitybridges.com/
SummaryPHP on Windows is a priority for MicrosoftFull range of PHP support Products and ServicesAttract more customers to the MS platform through world-class support and resources Microsoft wants you to succeed
QuestionsPossibly Answers

More Related Content

What's hot

PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on Azure
Maarten Balliauw
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
hchen1
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
Julie Iskander
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
rsnarayanan
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deployment
rsnarayanan
 
Walther Aspnet4
Walther Aspnet4Walther Aspnet4
Walther Aspnet4
rsnarayanan
 
High-Performance Magento in the Cloud
High-Performance Magento in the CloudHigh-Performance Magento in the Cloud
High-Performance Magento in the Cloud
AOE
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
Maarten Balliauw
 
Web303
Web303Web303
Running and Scaling Magento on AWS
Running and Scaling Magento on AWSRunning and Scaling Magento on AWS
Running and Scaling Magento on AWS
AOE
 
Advanced Asp.Net Concepts And Constructs
Advanced Asp.Net Concepts And ConstructsAdvanced Asp.Net Concepts And Constructs
Advanced Asp.Net Concepts And Constructs
Manny Siddiqui MCS, MBA, PMP
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
Madhuri Kavade
 
IIS Always-On Services
IIS Always-On ServicesIIS Always-On Services
IIS Always-On Services
Brian Ritchie
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
rudib
 
ASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVCASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVC
Bilal Amjad
 
NodeJS : Communication and Round Robin Way
NodeJS : Communication and Round Robin WayNodeJS : Communication and Round Robin Way
NodeJS : Communication and Round Robin Way
Edureka!
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
Rahul Bansal
 
Automating Web Application Deployment
Automating Web Application DeploymentAutomating Web Application Deployment
Automating Web Application Deployment
Mathew Byrne
 
Build sites on iis
Build sites on iisBuild sites on iis
Build sites on iis
Paul Davis
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
Maarten Balliauw
 

What's hot (20)

PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on Azure
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deployment
 
Walther Aspnet4
Walther Aspnet4Walther Aspnet4
Walther Aspnet4
 
High-Performance Magento in the Cloud
High-Performance Magento in the CloudHigh-Performance Magento in the Cloud
High-Performance Magento in the Cloud
 
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control - W...
 
Web303
Web303Web303
Web303
 
Running and Scaling Magento on AWS
Running and Scaling Magento on AWSRunning and Scaling Magento on AWS
Running and Scaling Magento on AWS
 
Advanced Asp.Net Concepts And Constructs
Advanced Asp.Net Concepts And ConstructsAdvanced Asp.Net Concepts And Constructs
Advanced Asp.Net Concepts And Constructs
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
IIS Always-On Services
IIS Always-On ServicesIIS Always-On Services
IIS Always-On Services
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
 
ASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVCASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVC
 
NodeJS : Communication and Round Robin Way
NodeJS : Communication and Round Robin WayNodeJS : Communication and Round Robin Way
NodeJS : Communication and Round Robin Way
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
 
Automating Web Application Deployment
Automating Web Application DeploymentAutomating Web Application Deployment
Automating Web Application Deployment
 
Build sites on iis
Build sites on iisBuild sites on iis
Build sites on iis
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
 

Viewers also liked

Detran cnh popular
Detran cnh popularDetran cnh popular
Detran cnh popular
Evandro Lira
 
Nota Fiscal Eletrônica - MilkStaff
Nota Fiscal Eletrônica - MilkStaffNota Fiscal Eletrônica - MilkStaff
Nota Fiscal Eletrônica - MilkStaff
Eliton Luiz de Assis
 
Avisos – igreja16072016
Avisos – igreja16072016Avisos – igreja16072016
Avisos – igreja16072016
Fabrizio Fuga
 
CV Sarah Stefanini - Español
CV Sarah Stefanini - EspañolCV Sarah Stefanini - Español
CV Sarah Stefanini - Español
Sarah Stefanini
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
Carlos Arturo
 
Revista ciencias
Revista cienciasRevista ciencias
Revista ciencias
Armazém Do Educador
 
Gustos y disgustos2
Gustos y disgustos2Gustos y disgustos2
Gustos y disgustos2
IMPRIMARIA
 
Cartilha idoso inss
Cartilha idoso inssCartilha idoso inss
Cartilha idoso inss
ivone guedes borges
 
Premio embalagemmarca2009
Premio embalagemmarca2009Premio embalagemmarca2009
Premio embalagemmarca2009
Elielba Chapermann
 
Juntando corazones
Juntando corazonesJuntando corazones
Juntando corazones
Jornadas Educativas Lev
 
FRG CRM - Gestão de Clientes
FRG CRM - Gestão de ClientesFRG CRM - Gestão de Clientes
FRG CRM - Gestão de Clientes
Felipe Borges
 
Aguas Profundas. Petrobras/Transpetro
Aguas Profundas. Petrobras/TranspetroAguas Profundas. Petrobras/Transpetro
Aguas Profundas. Petrobras/Transpetro
Ian Moone
 
Mecano
MecanoMecano
Info aula 00 - conceito de internet
Info   aula 00 - conceito de internetInfo   aula 00 - conceito de internet
Info aula 00 - conceito de internet
Bárbara Cerqueira
 
Napoleón
NapoleónNapoleón
Napoleón
laguiri
 
Folha 115
Folha 115Folha 115
Visita argentina 2010
Visita argentina 2010Visita argentina 2010
Visita argentina 2010
Cesar Chirino
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
Gerald20091
 
kurikulum pai 1
kurikulum pai  1kurikulum pai  1
kurikulum pai 1
tatiksuwartinah
 
Secretarias municipais as (1)
Secretarias municipais as (1)Secretarias municipais as (1)
Secretarias municipais as (1)
ivone guedes borges
 

Viewers also liked (20)

Detran cnh popular
Detran cnh popularDetran cnh popular
Detran cnh popular
 
Nota Fiscal Eletrônica - MilkStaff
Nota Fiscal Eletrônica - MilkStaffNota Fiscal Eletrônica - MilkStaff
Nota Fiscal Eletrônica - MilkStaff
 
Avisos – igreja16072016
Avisos – igreja16072016Avisos – igreja16072016
Avisos – igreja16072016
 
CV Sarah Stefanini - Español
CV Sarah Stefanini - EspañolCV Sarah Stefanini - Español
CV Sarah Stefanini - Español
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Revista ciencias
Revista cienciasRevista ciencias
Revista ciencias
 
Gustos y disgustos2
Gustos y disgustos2Gustos y disgustos2
Gustos y disgustos2
 
Cartilha idoso inss
Cartilha idoso inssCartilha idoso inss
Cartilha idoso inss
 
Premio embalagemmarca2009
Premio embalagemmarca2009Premio embalagemmarca2009
Premio embalagemmarca2009
 
Juntando corazones
Juntando corazonesJuntando corazones
Juntando corazones
 
FRG CRM - Gestão de Clientes
FRG CRM - Gestão de ClientesFRG CRM - Gestão de Clientes
FRG CRM - Gestão de Clientes
 
Aguas Profundas. Petrobras/Transpetro
Aguas Profundas. Petrobras/TranspetroAguas Profundas. Petrobras/Transpetro
Aguas Profundas. Petrobras/Transpetro
 
Mecano
MecanoMecano
Mecano
 
Info aula 00 - conceito de internet
Info   aula 00 - conceito de internetInfo   aula 00 - conceito de internet
Info aula 00 - conceito de internet
 
Napoleón
NapoleónNapoleón
Napoleón
 
Folha 115
Folha 115Folha 115
Folha 115
 
Visita argentina 2010
Visita argentina 2010Visita argentina 2010
Visita argentina 2010
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
kurikulum pai 1
kurikulum pai  1kurikulum pai  1
kurikulum pai 1
 
Secretarias municipais as (1)
Secretarias municipais as (1)Secretarias municipais as (1)
Secretarias municipais as (1)
 

Similar to PHP on Windows

Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
Maarten Balliauw
 
Running PHP In The Cloud
Running PHP In The CloudRunning PHP In The Cloud
Running PHP In The Cloud
Maarten Balliauw
 
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
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
John Calvert
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 
Rutgers - Active Server Pages
Rutgers - Active Server PagesRutgers - Active Server Pages
Rutgers - Active Server Pages
Michael Dobe, Ph.D.
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
SUGES (SharePoint Users Group España)
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
guest0a62e8
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
Luke Stokes
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP Developers
Wes Yanaga
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
Manish Bothra
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on Windows
Josh Holmes
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
Randy Connolly
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
Roy Sivan
 
php
phpphp
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
Roy Sivan
 
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
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
Sachin Walvekar
 
Share point 2013 apps and i mean it
Share point 2013 apps and i mean itShare point 2013 apps and i mean it
Share point 2013 apps and i mean it
Eric Overfield
 
My Saminar On Php
My Saminar On PhpMy Saminar On Php
My Saminar On Php
Arjun Kumawat
 

Similar to PHP on Windows (20)

Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
 
Running PHP In The Cloud
Running PHP In The CloudRunning PHP In The Cloud
Running PHP In The Cloud
 
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)
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Rutgers - Active Server Pages
Rutgers - Active Server PagesRutgers - Active Server Pages
Rutgers - Active Server Pages
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP Developers
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on Windows
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
 
php
phpphp
php
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
 
PHP and Zend Framework on Windows
PHP and Zend Framework on WindowsPHP and Zend Framework on Windows
PHP and Zend Framework on Windows
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Share point 2013 apps and i mean it
Share point 2013 apps and i mean itShare point 2013 apps and i mean it
Share point 2013 apps and i mean it
 
My Saminar On Php
My Saminar On PhpMy Saminar On Php
My Saminar On Php
 

More from Maarten Balliauw

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
Maarten Balliauw
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Maarten Balliauw
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
Maarten Balliauw
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Maarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Maarten Balliauw
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
Maarten Balliauw
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
Maarten Balliauw
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
Maarten Balliauw
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
Maarten Balliauw
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
Maarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Maarten Balliauw
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
Maarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
Maarten Balliauw
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
Maarten Balliauw
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Maarten Balliauw
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
Maarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
Maarten Balliauw
 

More from Maarten Balliauw (20)

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
 

Recently uploaded

Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Kunal Gupta
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
LINUS PROJECTS (INDIA)
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
moinahousna
 
Figma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdfFigma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdf
Management Institute of Skills Development
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
SAI KAILASH R
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
digitalxplive
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
Edge AI and Vision Alliance
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
aakash malhotra
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 

Recently uploaded (20)

Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
 
Figma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdfFigma AI Design Generator_ In-Depth Review.pdf
Figma AI Design Generator_ In-Depth Review.pdf
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024Three New Criminal Laws in India 1 July 2024
Three New Criminal Laws in India 1 July 2024
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 

PHP on Windows

  • 2. PHP on WindowsMaarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
  • 3. Who am I?Maarten BalliauwAntwerp, Belgiumwww.realdolmen.comFocus on webASP.NET, ASP.NET MVC, PHP, Azure, VSTS, …MVP ASP.NETInterested in interoperabilityPHPExcel, PHPLinq, Windows Azure SDK for PHP, ...http://blog.maartenballiauw.behttp://twitter.com/maartenballiauw
  • 4. AgendaWhy PHP matters…An overview of initiativesPHP core developmentFastCGIWinCache extensionSQL Server driver for PHPMicrosoft Web Platform InstallerSDK’sToolingSEO Optimization ToolResourcesQ&A
  • 5. Why PHP matters…Web applicationsWordpressDrupalJoomlaphpBBMediaWikiSugarCRMGallery2Commercial entitiesYahoo!FlickrDiggFacebookYouTubeWikipedia Hard to ignore!
  • 6. PHP on WindowsIf PHP matters, better make it a first-class citizen…
  • 7. Microsoft and the PHP CommunityBeforeNow
  • 9. PHP 5.3 on WindowsIs the most significant update to PHP on Windows!All libraries updated to latest versions(in some cases newer versions that used on Linux)Re-write of the build system from scratchTop PHP Windows community programmer working for Microsoft (Pierre Joye)Build with VS 2008Available in 32 and 64 bit versionCreated windows.php.net99% of all POSIX calls changed to native Windows calls
  • 10. By the numbers: Running PHPBench looped 5xBoth computers are a HP 8 core (2 procs x Quad core) 16gb ram.Linux (Centos 5.2) vs. Windows Server 2008 x86NOTE: phpbench onlytests internal PHP engineperformance. It doesnot do IO of any kind.
  • 11. FastCGI on IISHow and where will my application run?
  • 12. PHP on Windows – HistoryIIS support has been there for a long timeApache runs on Windows as wellBut…IIS gives best performance on WindowsUnfortunately the choice was always between stability and performance…
  • 13. Allow me to explain…
  • 14. And along came improvement!
  • 17. IIS execution pipelineSince your PHP app is part of the IIS execution pipeline……you can use IIS URL rewriting…you can use IIS as a load balancer (ARR)www.viprive.com…you can use any HttpModule out thereASP.NET membership / authenticationOutput caching…
  • 19. Windows Cache Extension (“WinCache”)PHP module for 5.2 and 5.3IIS specific PHP acceleratorSo only works in IIS!No code modifications needed in your applicationCache layers:Bytecode cache – Caches compiled PHP scriptsScript cache – Cache script sources in memory to reduce I/O access and UNC file share accessRelative file path cache – Caches relative file pathSession cache – Sessions stored in shared memoryPHP functions to obtain information about the cache statushttp://www.iis.net/download/WinCacheForPhp
  • 21. SQL Server Driver for PHPData access should be fast as well!
  • 22. SQL Server Driver for PHP v1.1PHP extension for WindowsSo only works on Windows!Reliable, scalable and fast integration with SQL Server for PHPRelies on the Microsoft SQL Server Native Client to communicate with SQL Server.http://bit.ly/cwDLR1
  • 23. “Did you just forgetto mention PDO support?”
  • 24. No, there is no PDO support. Oh, wait!Unless you want the new CTP bits!SQL Server Driver for PHP v2.0 CTPSupport for PHP Data Objects (PDO)Better UTF-8 supportExample: Drupal 7 on SQL Serverhttp://www.commerceguys.com/about/news/drupal-7-sql-server-previewhttp://bit.ly/cjGvO3
  • 25. Here are your options!
  • 27. Microsoft Web Platform Installer“Yum for Windows”?
  • 28. Easy installation of YOUR environmentEasy installer providingPlatform installation (IIS, extra modules, configuration, …)Both ASP.NET and PHPApplication installationBoth ASP.NET and PHPhttp://microsoft.com/web
  • 30. SDK’sWhat else is out there?
  • 31. Microsoft and PHP = LOTS of goodiesSome highlights…SQL Server Reporting Services SDK for PHPOData SDK for PHPWindows Azure Tools for EclipseWindows Azure SDK for PHPAppFabric SDK for PHPWindows Azure Command-Line Tools for PHPEclipse Tools for SilverlightInformation Cards for PHPInternet Explorer Webslices and Accelerators for PHPPHP and SilverlightSQL CRUD ApplicationWizard for PHP Toolkit for PHP and Bing MapsOverview: http://www.interoperabilitybridges.com/
  • 32. SQL Server Reporting Services SDK for PHPSSRS?Reporting tool in SQL ServerVery powerful!Various output formatsCan be linked to MySQL, PostgreSQL, …API to interoperate with SQL Server Reporting ServicesList available reports within a PHP applications,Provide custom parameters from a PHP web form,Manage the rendering of the reports within a PHP applicationhttp://ssrsphp.codeplex.com
  • 33. OData SDK for PHPOData?Open Data ProtocolUnlock your data and free it from silos that exist in applications todayBuilds on HTTP, AtomPub and JSONRESTful interfaceWay data is delivered in MS CN “Dallas”API to ODataGenerate proxy classes to OData feedsCRUD on OData feedshttp://odataphp.codeplex.com/
  • 34. OData SDK for PHP/* connect to the OData service */ $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);/* get the list of Customers in the USA +the list of Orders */ $query = $svc->Customers() ->filter("Country eq 'USA'") ->Expand('Orders'); $customerResponse = $query->Execute();/* get only CustomerID and CustomerName */ $query = $svc->Customers() ->filter("Country eq 'USA'") ->Select('CustomerID, CustomerName'); $customerResponse = $query->Execute();/* create a new customer */ $customer = Customers::CreateCustomers('channel9', 'CHAN9'); $proxy->AddToCustomers($customer); /* commit the change on the server */ $proxy->SaveChanges();
  • 35. Windows AzureMicrosoft’s Cloud Computing offeringWeb/worker role (= virtual machine)Blobs, tables, queues, drives (= storage)SQL Azure (= +/- SQL Server)AppFabric (= access control & firewall punching)“Dallas” (= Data-as-a-Service)Working with PHPWindows Azure Tools for EclipseWindows Azure SDK for PHPAppFabric SDK for PHPWindows Azure Command-Line Tools for PHPZend Framework contribution
  • 36. ToolingHow do I use all this?
  • 38. Windows Azure Tools for Eclipse
  • 41. What’s in the cloud?ResourcesWhere can I learn more?
  • 42. ResourcesMicrosoft Windows Azure Interophttp://www.microsoft.com/windowsazure/interop/InteropBridgeshttp://www.interoperabilitybridges.com/
  • 43. SummaryPHP on Windows is a priority for MicrosoftFull range of PHP support Products and ServicesAttract more customers to the MS platform through world-class support and resources Microsoft wants you to succeed