SlideShare a Scribd company logo
1 of 44
PHP on Windows Maarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
Who am I? Maarten Balliauw Antwerp, Belgium www.realdolmen.com Focus on web ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, … MVP ASP.NET Interested in interoperability PHPExcel, PHPLinq, Windows Azure SDK for PHP, ... http://blog.maartenballiauw.be http://twitter.com/maartenballiauw
Agenda Why PHP matters… An overview of initiatives PHP core development FastCGI WinCache extension SQL Server driver for PHP Microsoft Web Platform Installer SDK’s Tooling SEO Optimization Tool Resources Q&A
Why PHP matters… Web applications Wordpress Drupal Joomla phpBB MediaWiki SugarCRM Gallery2 Commercial entities Yahoo! Flickr Digg Facebook YouTube Wikipedia  Hard to ignore!
PHP on Windows If PHP matters, better make it a first-class citizen…
Microsoft and the PHP Community Before Now
http://windows.php.net
PHP 5.3 on Windows Is 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 scratch Top PHP Windows community programmer working for Microsoft (Pierre Joye) Build with VS 2008 Available in 32 and 64 bit version Created windows.php.net 99% of all POSIX calls changed to native Windows calls
By the numbers: Running PHPBench looped 5x Both computers are a HP 8 core (2 procs x Quad core) 16gb ram. Linux (Centos 5.2) vs. Windows Server 2008 x86 NOTE: phpbench onlytests internal PHP engineperformance. It doesnot do IO of any kind.
FastCGI on IIS How and where will my application run?
PHP on Windows – History IIS support has been there for a long time Apache runs on Windows as well But… IIS gives best performance on Windows Unfortunately the choice was always between stability and performance…
Allow me to explain…
And along came improvement!
FastCGI
Demo FastCGI on IIS
IIS execution pipeline Since 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 there ASP.NET membership / authentication Output caching …
WinCache extension Making it even faster…
Windows Cache Extension (“WinCache”) PHP module for 5.2 and 5.3 IIS specific PHP accelerator So only works in IIS! No code modifications needed in your application Cache layers: Bytecode cache – Caches compiled PHP scripts Script cache – Cache script sources in memory to reduce I/O access and UNC file share access Relative file path cache – Caches relative file path Session cache – Sessions stored in shared memory PHP functions to obtain information about the cache status http://www.iis.net/download/WinCacheForPhp
Demo WinCache extension
SQL Server Driver for PHP Data access should be fast as well!
SQL Server Driver for PHP v1.1 PHP extension for Windows So only works on Windows! Reliable, scalable and fast integration with SQL Server for PHP Relies 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 CTP Support for PHP Data Objects (PDO) Better UTF-8 support Example: Drupal 7 on SQL Serverhttp://www.commerceguys.com/about/news/drupal-7-sql-server-preview http://bit.ly/cjGvO3
Here are your options!
Demo SQL Server Driver for PHP
Microsoft Web Platform Installer “Yum for Windows”?
Easy installation of YOUR environment Easy installer providing Platform installation (IIS, extra modules, configuration, …) Both ASP.NET and PHP Application installation Both ASP.NET and PHP http://microsoft.com/web
Demo Web Platform Installer
SDK’s What else is out there?
Microsoft and PHP = LOTS of goodies Some highlights… SQL Server Reporting Services SDK for PHP OData SDK for PHP Windows Azure Tools for Eclipse Windows Azure SDK for PHP AppFabric SDK for PHP Windows Azure Command-Line Tools for PHP Eclipse Tools for Silverlight Information Cards for PHP Internet Explorer Webslices and Accelerators for PHP PHP and Silverlight SQL CRUD Application Wizard for PHP Toolkit for PHP and Bing Maps Overview: http://www.interoperabilitybridges.com/
SQL Server Reporting Services SDK for PHP SSRS? Reporting tool in SQL Server Very powerful! Various output formats Can be linked to MySQL, PostgreSQL, … API to interoperate with SQL Server Reporting Services List available reports within a PHP applications, Provide custom parameters from a PHP web form, Manage the rendering of the reports within a PHP application http://ssrsphp.codeplex.com
OData SDK for PHP OData? Open Data Protocol Unlock your data and free it from silos that exist in applications today Builds on HTTP, AtomPub and JSON RESTful interface Way data is delivered in MS CN “Dallas” API to OData Generate proxy classes to OData feeds CRUD on OData feeds http://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 Azure Microsoft’s Cloud Computing offering Web/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 PHP Windows Azure Tools for Eclipse Windows Azure SDK for PHP AppFabric SDK for PHP Windows Azure Command-Line Tools for PHP Zend Framework contribution
Tooling How 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? Resources Where can I learn more?
Resources Microsoft Windows Azure Interop http://www.microsoft.com/windowsazure/interop/ InteropBridges http://www.interoperabilitybridges.com/
Summary PHP on Windows is a priority for Microsoft Full range of PHP support Products and Services Attract more customers to the MS platform through world-class support and resources  Microsoft wants you to succeed
Questions Possibly Answers

More Related Content

What's hot

WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!Evan Mullins
 
WordPress REST API v2: Overview & Exploring
WordPress REST API v2: Overview & ExploringWordPress REST API v2: Overview & Exploring
WordPress REST API v2: Overview & ExploringNick Pelton
 
Php & mysqli in urdu
Php & mysqli in urduPhp & mysqli in urdu
Php & mysqli in urduAbdul Wali
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NETPeter Gfader
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulRobert Nyman
 
Rapid Development With CakePHP
Rapid Development With CakePHPRapid Development With CakePHP
Rapid Development With CakePHPEdureka!
 
WordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress SecurityWordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress SecurityTiia Rantanen
 
Advanced PHP Web Development Tools in 2015
Advanced PHP Web Development Tools in 2015Advanced PHP Web Development Tools in 2015
Advanced PHP Web Development Tools in 2015iScripts
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalHimanshu Mendiratta
 
Tech talk live alfresco web editor [compatibility mode]
Tech talk live   alfresco web editor [compatibility mode]Tech talk live   alfresco web editor [compatibility mode]
Tech talk live alfresco web editor [compatibility mode]Alfresco Software
 
Alfresco Tech Talk Live-Web Editor - 3.3
Alfresco Tech Talk Live-Web Editor - 3.3Alfresco Tech Talk Live-Web Editor - 3.3
Alfresco Tech Talk Live-Web Editor - 3.3quyong2000
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practicesmarkparolisi
 
Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Stéphane Bégaudeau
 
Java script Tutorial - QaTrainingHub
Java script Tutorial - QaTrainingHubJava script Tutorial - QaTrainingHub
Java script Tutorial - QaTrainingHubQA TrainingHub
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformAlfresco Software
 

What's hot (20)

WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
 
WordPress REST API v2: Overview & Exploring
WordPress REST API v2: Overview & ExploringWordPress REST API v2: Overview & Exploring
WordPress REST API v2: Overview & Exploring
 
Php & mysqli in urdu
Php & mysqli in urduPhp & mysqli in urdu
Php & mysqli in urdu
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - Istanbul
 
Presentation php
Presentation phpPresentation php
Presentation php
 
Rapid Development With CakePHP
Rapid Development With CakePHPRapid Development With CakePHP
Rapid Development With CakePHP
 
WordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress SecurityWordCamp Finland 2015 - WordPress Security
WordCamp Finland 2015 - WordPress Security
 
Advanced PHP Web Development Tools in 2015
Advanced PHP Web Development Tools in 2015Advanced PHP Web Development Tools in 2015
Advanced PHP Web Development Tools in 2015
 
PHP Project PPT
PHP Project PPTPHP Project PPT
PHP Project PPT
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere Portal
 
Low-Code Testing Tool
Low-Code Testing ToolLow-Code Testing Tool
Low-Code Testing Tool
 
Tech talk live alfresco web editor [compatibility mode]
Tech talk live   alfresco web editor [compatibility mode]Tech talk live   alfresco web editor [compatibility mode]
Tech talk live alfresco web editor [compatibility mode]
 
Alfresco Tech Talk Live-Web Editor - 3.3
Alfresco Tech Talk Live-Web Editor - 3.3Alfresco Tech Talk Live-Web Editor - 3.3
Alfresco Tech Talk Live-Web Editor - 3.3
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practices
 
URL Design
URL DesignURL Design
URL Design
 
Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014
 
Java script Tutorial - QaTrainingHub
Java script Tutorial - QaTrainingHubJava script Tutorial - QaTrainingHub
Java script Tutorial - QaTrainingHub
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf Platform
 

Viewers also liked

Booster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders Dybing
Booster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders DybingBooster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders Dybing
Booster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders DybingRam Yoga
 
Paper - New opportunities in lightweight spread tow fabrics (STF)
Paper - New opportunities in lightweight spread tow fabrics (STF)Paper - New opportunities in lightweight spread tow fabrics (STF)
Paper - New opportunities in lightweight spread tow fabrics (STF)TeXtreme ®
 
Jessica Atkinson’S Illustration Portfolio 1
Jessica Atkinson’S Illustration Portfolio 1Jessica Atkinson’S Illustration Portfolio 1
Jessica Atkinson’S Illustration Portfolio 1jessicaallenatkinson
 
Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]
Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]
Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]MarketingProfs
 
Piedmont parent education series dion lim
Piedmont parent education series   dion limPiedmont parent education series   dion lim
Piedmont parent education series dion limDion Lim
 
Progetto "Facebook & Salute" - Informazioni sull'alcool
Progetto "Facebook & Salute" - Informazioni sull'alcool Progetto "Facebook & Salute" - Informazioni sull'alcool
Progetto "Facebook & Salute" - Informazioni sull'alcool Marco Vagnozzi
 
African wild dog
African wild dogAfrican wild dog
African wild dogkandaks
 
Presentatie LSV Joeri van Steenhoven
Presentatie LSV Joeri van SteenhovenPresentatie LSV Joeri van Steenhoven
Presentatie LSV Joeri van SteenhovenEveline van der Grift
 
OkiTracki(Distribution Logistics)
OkiTracki(Distribution Logistics)OkiTracki(Distribution Logistics)
OkiTracki(Distribution Logistics)paolo aldera
 

Viewers also liked (12)

Twitter
TwitterTwitter
Twitter
 
Booster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders Dybing
Booster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders DybingBooster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders Dybing
Booster 2016 - How to Conduct a Design Critique - Ram Yoga and Tor Anders Dybing
 
Paper - New opportunities in lightweight spread tow fabrics (STF)
Paper - New opportunities in lightweight spread tow fabrics (STF)Paper - New opportunities in lightweight spread tow fabrics (STF)
Paper - New opportunities in lightweight spread tow fabrics (STF)
 
Jessica Atkinson’S Illustration Portfolio 1
Jessica Atkinson’S Illustration Portfolio 1Jessica Atkinson’S Illustration Portfolio 1
Jessica Atkinson’S Illustration Portfolio 1
 
Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]
Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]
Use Crowdsourcing to Develop and Enhance Your Content [Slide Show]
 
Piedmont parent education series dion lim
Piedmont parent education series   dion limPiedmont parent education series   dion lim
Piedmont parent education series dion lim
 
Progetto "Facebook & Salute" - Informazioni sull'alcool
Progetto "Facebook & Salute" - Informazioni sull'alcool Progetto "Facebook & Salute" - Informazioni sull'alcool
Progetto "Facebook & Salute" - Informazioni sull'alcool
 
African wild dog
African wild dogAfrican wild dog
African wild dog
 
Davidoff бриф доп
Davidoff бриф допDavidoff бриф доп
Davidoff бриф доп
 
Presentatie LSV Joeri van Steenhoven
Presentatie LSV Joeri van SteenhovenPresentatie LSV Joeri van Steenhoven
Presentatie LSV Joeri van Steenhoven
 
OkiTracki(Distribution Logistics)
OkiTracki(Distribution Logistics)OkiTracki(Distribution Logistics)
OkiTracki(Distribution Logistics)
 
Tweer Education
Tweer Education Tweer Education
Tweer Education
 

Similar to PHP on Windows

PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on AzureMaarten Balliauw
 
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 CloudyMaarten Balliauw
 
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 cloudyMaarten 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 DeveloperJohn Calvert
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP DevelopersWes Yanaga
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on WindowsJosh 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 developmentRandy 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 WCTORoy Sivan
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto PresentationRoy Sivan
 
PHP and Zend Framework on Windows
PHP and Zend Framework on WindowsPHP and Zend Framework on Windows
PHP and Zend Framework on WindowsShahar Evron
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web ApplicationSachin Walvekar
 

Similar to PHP on Windows (20)

PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on Azure
 
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
 
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
 
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
 
Walther Aspnet4
Walther Aspnet4Walther Aspnet4
Walther Aspnet4
 
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
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

PHP on Windows

  • 1.
  • 2. PHP on Windows Maarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
  • 3. Who am I? Maarten Balliauw Antwerp, Belgium www.realdolmen.com Focus on web ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, … MVP ASP.NET Interested in interoperability PHPExcel, PHPLinq, Windows Azure SDK for PHP, ... http://blog.maartenballiauw.be http://twitter.com/maartenballiauw
  • 4. Agenda Why PHP matters… An overview of initiatives PHP core development FastCGI WinCache extension SQL Server driver for PHP Microsoft Web Platform Installer SDK’s Tooling SEO Optimization Tool Resources Q&A
  • 5. Why PHP matters… Web applications Wordpress Drupal Joomla phpBB MediaWiki SugarCRM Gallery2 Commercial entities Yahoo! Flickr Digg Facebook YouTube Wikipedia  Hard to ignore!
  • 6. PHP on Windows If PHP matters, better make it a first-class citizen…
  • 7. Microsoft and the PHP Community Before Now
  • 9. PHP 5.3 on Windows Is 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 scratch Top PHP Windows community programmer working for Microsoft (Pierre Joye) Build with VS 2008 Available in 32 and 64 bit version Created windows.php.net 99% of all POSIX calls changed to native Windows calls
  • 10. By the numbers: Running PHPBench looped 5x Both computers are a HP 8 core (2 procs x Quad core) 16gb ram. Linux (Centos 5.2) vs. Windows Server 2008 x86 NOTE: phpbench onlytests internal PHP engineperformance. It doesnot do IO of any kind.
  • 11. FastCGI on IIS How and where will my application run?
  • 12. PHP on Windows – History IIS support has been there for a long time Apache runs on Windows as well But… IIS gives best performance on Windows Unfortunately the choice was always between stability and performance…
  • 13. Allow me to explain…
  • 14. And along came improvement!
  • 17. IIS execution pipeline Since 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 there ASP.NET membership / authentication Output caching …
  • 18. WinCache extension Making it even faster…
  • 19. Windows Cache Extension (“WinCache”) PHP module for 5.2 and 5.3 IIS specific PHP accelerator So only works in IIS! No code modifications needed in your application Cache layers: Bytecode cache – Caches compiled PHP scripts Script cache – Cache script sources in memory to reduce I/O access and UNC file share access Relative file path cache – Caches relative file path Session cache – Sessions stored in shared memory PHP functions to obtain information about the cache status http://www.iis.net/download/WinCacheForPhp
  • 21. SQL Server Driver for PHP Data access should be fast as well!
  • 22. SQL Server Driver for PHP v1.1 PHP extension for Windows So only works on Windows! Reliable, scalable and fast integration with SQL Server for PHP Relies 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 CTP Support for PHP Data Objects (PDO) Better UTF-8 support Example: Drupal 7 on SQL Serverhttp://www.commerceguys.com/about/news/drupal-7-sql-server-preview http://bit.ly/cjGvO3
  • 25. Here are your options!
  • 26. Demo SQL Server Driver for PHP
  • 27. Microsoft Web Platform Installer “Yum for Windows”?
  • 28. Easy installation of YOUR environment Easy installer providing Platform installation (IIS, extra modules, configuration, …) Both ASP.NET and PHP Application installation Both ASP.NET and PHP http://microsoft.com/web
  • 29. Demo Web Platform Installer
  • 30. SDK’s What else is out there?
  • 31. Microsoft and PHP = LOTS of goodies Some highlights… SQL Server Reporting Services SDK for PHP OData SDK for PHP Windows Azure Tools for Eclipse Windows Azure SDK for PHP AppFabric SDK for PHP Windows Azure Command-Line Tools for PHP Eclipse Tools for Silverlight Information Cards for PHP Internet Explorer Webslices and Accelerators for PHP PHP and Silverlight SQL CRUD Application Wizard for PHP Toolkit for PHP and Bing Maps Overview: http://www.interoperabilitybridges.com/
  • 32. SQL Server Reporting Services SDK for PHP SSRS? Reporting tool in SQL Server Very powerful! Various output formats Can be linked to MySQL, PostgreSQL, … API to interoperate with SQL Server Reporting Services List available reports within a PHP applications, Provide custom parameters from a PHP web form, Manage the rendering of the reports within a PHP application http://ssrsphp.codeplex.com
  • 33. OData SDK for PHP OData? Open Data Protocol Unlock your data and free it from silos that exist in applications today Builds on HTTP, AtomPub and JSON RESTful interface Way data is delivered in MS CN “Dallas” API to OData Generate proxy classes to OData feeds CRUD on OData feeds http://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 Azure Microsoft’s Cloud Computing offering Web/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 PHP Windows Azure Tools for Eclipse Windows Azure SDK for PHP AppFabric SDK for PHP Windows Azure Command-Line Tools for PHP Zend Framework contribution
  • 36. Tooling How do I use all this?
  • 38. Windows Azure Tools for Eclipse
  • 41. What’s in the cloud? Resources Where can I learn more?
  • 42. Resources Microsoft Windows Azure Interop http://www.microsoft.com/windowsazure/interop/ InteropBridges http://www.interoperabilitybridges.com/
  • 43. Summary PHP on Windows is a priority for Microsoft Full range of PHP support Products and Services Attract more customers to the MS platform through world-class support and resources Microsoft wants you to succeed
  • 45. THANK YOU! Maarten Balliauwhttp://blog.maartenballiauw.be