PHP on Windows
Upcoming SlideShare
Loading in...5

PHP on Windows



PHP on Windows introduction

PHP on Windows introduction



Total Views
Views on SlideShare
Embed Views



12 Embeds 668 591 25 20 10 8 4 3 3 1 1 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    PHP on Windows PHP on Windows Presentation Transcript

    • PHP on Windows
      Maarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
    • Who am I?
      Maarten Balliauw
      Antwerp, Belgium
      Focus on web
      ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, …
      Interested in interoperability
      PHPExcel, PHPLinq, Windows Azure SDK for PHP, ...
    • Agenda
      Why PHP matters…
      An overview of initiatives
      PHP core development
      WinCache extension
      SQL Server driver for PHP
      Microsoft Web Platform Installer
      SEO Optimization Tool
    • Why PHP matters…
      Web applications
      Commercial entities
       Hard to ignore!
    • PHP on Windows
      If PHP matters, better make it a first-class citizen…
    • Microsoft and the PHP Community
    • 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
      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
      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)
      …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
    • 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.
    • “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 Server
    • 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
    • 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
    • SQL Server Reporting Services SDK for PHP
      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
    • OData SDK for PHP
      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
    • 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'")
      $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');
      /* commit the change on the server */
    • 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?
      Where can I learn more?
    • Resources
      Microsoft Windows Azure Interop
    • 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
    • THANK YOU!
      Maarten Balliauw