240 likes | 412 Vues
PHP on Windows Improvements in PHP-Microsoft Interoperability. PHP World Kongress Munich, Germany November 9 , 2010. Brian Swan PHP Developer Advocate, Microsoft Twitter: @ brian_swan E-mail: brian.swan@microsoft.com Blog: http://blogs.msdn.com/b/brian_swan. 2006. 2007.
E N D
PHP on WindowsImprovements in PHP-Microsoft Interoperability PHP World Kongress Munich, GermanyNovember 9, 2010
Brian Swan • PHP Developer Advocate, Microsoft • Twitter: @brian_swan • E-mail: brian.swan@microsoft.com • Blog: http://blogs.msdn.com/b/brian_swan
2007 Fast CGI for IIS
2008 • SQL Server Driver for PHP 1.0* • URL Rewrite Module for IIS *Open Source
2009 • Windows optimizations in PHP 5.3* • WinCache 1.0* • Web Platform Installer 1.0 • Web Application Gallery • SQL Server Driver for PHP 1.1* • Windows Azure/AppFabric SDKs* *Open Source
2010 • WinCache 1.1* • Microsoft Drivers for PHP for SQL Server 2.0* • Web Platform Installer 3.0 (beta) • PHP Manager for IIS 7+* • SSRS, OData SDKs* • Azure Tools in Eclipse* • Azure Command Line Tools* • Windows Azure Companion* *Open Source
- Demo 1 -Tooling Up and Speeding Up • PHP Manager for IIS 7 • Easily modify PHP configuration • Enable/disable PHP extensions • Run multiple versions of PHP • URL Rewrite Module for IIS • Create rules for search friendly URLs • Import Apache rewrite rules • Windows Cache Extension for PHP (WinCache) • Opcode, File, and Resolve path cache • Stores app data in shared memory (function-by-function compatible with APC)
- Demo 2 -Developing Locally, Deploying to the Cloud But first, some background…
Windows Azure Platform Overview Developer Experience Use existing skills and tools. Windows Azure Tools for Windows Azure Command-Line Tools for Windows Azure Companion Runtimes & Services AppFabric SDKs Windows Azure SDKs
- Demo 2 -Overview Windows Azure Development Fabric SQL Server Web Server Windows/IIS/PHP Change DB connection string Windows Azure Command Line Tools for PHP or Eclipse SQL Azure Migration Wizard Client Web Browser
SQL Server PHP Drivers Architecture SQL Server Driver for PHP 1.1 Microsoft Drivers for PHP for SQL Server 2.0 php_sqlsrv.dll php_sqlsrv.dll php_pdo_sqlsrv.dll SQLSRV Procedural API SQLSRV Procedural API PDO API Core Functional Layer SQL Server Native Client (ODBC)
SQL Server PHP DriversFeature Highlights • SQL and Windows Authentication • Connection pooling • Streaming • Parameter binding • Forward and scrollable cursors • UTF-8 support • PDO support • SQL Azure support • Supports SQL Server 2005+ • Released under Apache 2.0 license
Windows Azure Command Line Tools for PHP • Local (Development Fabric) or Cloud • A simple command line tool for packaging and deploying PHP applications to Windows Azure • Package all project assets: PHP Engine, Application source, PHP Extensions • Create the Azure deployment package (.cspkg) and Configuration file (.cscfg) • Deploy to Local Development Fabric or the Windows Azure Cloud • Available at http://azurephptools.codeplex.com or through the Web PI 1 2 3 Windows Azure Command-line Tools for PHP
Windows Azure Tools for EclipseDeveloping with the Windows Azure Tools for Eclipse • Offers comprehensive Windows Azure development experience for writing cloud applications • Developed by Microsoft partner Soyatec • Supports… • Windows Azure Development Fabric • PHP Core & Extensions integration • Worker Role • SQL Azure development/deployment • MySQL development/deployment • Windows Azure SDK for PHP • App Fabric SDK for PHP • SQL Server PHP Drivers • Diagnostics, monitoring & logging • Windows Azure Drives • One click cloud deployment from IDE • Project site: http://www.windowsazure4e.org/
Windows Azure SDK for PHP Logical architecture • Deployment scenarios Your PHP application • PHP Runtime Any internet connected Server REST • PHP Runtime REST Compute Storage Manage REST • Features • PHP classes for Blobs, Tables, Queues & Service Management • Helper Classes for HTTP transport, Authorization & Error Management • Manageability, Instrumentation & Logging support • Open Source Project • Developed by our Partner RealDolmen • Available at http://phpazure.codeplex.com/ • Distributed through Zend Framework: http://framework.zend.com
Windows Azure Companion • Provides a seamless experience installing and configuring PHP platform-elements (PHP runtime, extensions) and community PHP applications on Windows Azure. • Installation engine running on your Windows Azure service. • Fully customizable through a feed which describes what components to install. • Growing Feed Ecosystem • Integrated Administration, Diagnostics, Monitoring & Logging • Project site: • http://code.msdn.microsoft.com/azurecompanion • http://www.interoperabilitybridges.com/projects/windows-azure-companion
- Demo 4 -Rendering Reports with PHP PHP Script Report Server Web Service SSRS SDK for PHP SOAP API Web Server • The SQL Server Reporting Services SDK for PHP enables developers to leverage the SSRS business intelligence and reporting features in applications by… • Querying for the list of reports on the server • Querying for the list of parameters required for each report, including list of valid values • Querying the list of formats supported by the server • Executing and rendering reports
We Want Your Input • Performance • FastCGI for IIS • PHP 5.3 optimizations • WinCache • ?? • SQL Server Access • php_sqlsrv.dll • php_pdo_sqlsrv.dll • ?? • Bridges to Microsoft Technologies • Windows Azure SDK for PHP • AppFabric SDK for PHP • SSRS SDK for PHP • OData SDK for PHP • Windows Azure Commandline Tools • Windows Azure Tools in Eclipse • Windows Azure Companion • ?? • Tooling • URL Rewrite Module • PHP Manager for IIS • Web Platform Installer • Web Application Gallery • ??
Resources • http://pecl.php.net/package/WinCache • http://phpmanager.codeplex.com/ • http://www.iis.net/download/URLRewrite • http://azurephptools.codeplex.com/ • http://www.windowsazure4e.org/ • http://phpazure.codeplex.com/ • http://code.msdn.microsoft.com/azurecompanion • http://ssrsphp.codeplex.com/ • http://sqlazuremw.codeplex.com/ • http://www.microsoft.com/windowsazure/ • http://blogs.msdn.com/b/interoperability/ • http://blogs.msdn.com/b/sqlphp/ • http://blogs.iis.net/