I’ve been talking to developers about PHP for a very long time and I’ve been talking to my peers at Microsoft about why Windows should be a great production platform for PHP for 6 years.
I was tickled last year when Microsoft announced the partnership with Zend and the commitment to work on a Fast CGI implementation for IIS.
I’m even MORE thrilled with this weeks announcements.
· Zend and Microsoft announce today that we will continue work on FastCGI and scalable PHP hosting on Windows Servers. Specifically, Zend has committed to redistribute FastCGI in Zend Core, its certified PHP 5 offering.
· Zend will ensure that Zend Core fully supports the Server Core installation option for Windows Server 2008, allowing their optimized PHP to be hosted on the most streamlined version of Windows Server ever released.
· Microsoft and Zend have formed an additional strategic relationship to enable support for information cards by PHP developers through a component built for Zend Framework. This collaboration will enable PHP developers to create applications that support identification and authentication, including single sign-on, for a broad range of Web site users, including those using Windows CardSpace. This commitment to interoperability will reduce development costs and help make the Web safer and more secure for people.
· Microsoft announces the availability of the first Community Technology Preview (CTP) of the SQL Server 2005 Driver for PHP. The PHP Driver delivers an API designed-to-enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform. Zend and Microsoft are working together with the PHP Community to ensure that the SQL Server 2005 Driver for PHP is a great offering for PHP developers and part of Zend’s core PHP offering.
I’ve always believed that real freedom for developers meant the freedom to choose the best tool for the job at hand and not be bridled by impositions, technical or social, in our problem solving.
I will continue to use ASP.NET for commercial development work but now I can enjoy the freedom to integrate my custom built logic with the free Open Source application of my choice (Joomla, Drupal, PHP-Nuke) and be able to run that application on the platform of my choice in a per formant, reliable, and supported way.
How cool is that !?
· The next release of Zend Core, Zend’s certified version of PHP 5, will redistribute Microsoft’s FastCGI, ensuring for all of Zend’s Windows customers, that PHP is as reliable and scalable as possible on Windows Servers.
· Zend Core will support the Server Core installation option of Windows Server 2008, allowing Zend’s customers to run PHP on Windows in the most streamlined and secure environment possible.
· FastCGI is available for IIS 5.1/IIS 6.0 as a Go Live release, meaning customers have a free license to deploy this production-quality release on Windows Server 2003 today.
· FastCGI will ship in Windows Server 2008 as a built-in IIS component for the first time, sparing customers the hassle of downloading, installing and patching 3rd party products.
· Microsoft embraces PHP hosting on Windows by building the enabling technology but also by working with the PHP community to ensure that popular PHP applications will run performantly on the Windows platform.
· For more information regarding FastCGI or PHP on Windows, visit http://www.iis.net/php.
About the SQL SERVER 2005 DRIVER FOR PHP
· Microsoft is announces the availability this week of the first Community Technology Preview (CTP) of the SQL Server 2005 Driver for PHP. As part of Microsoft’s continued commitment to interoperability, the PHP Driver provides an optimized way for developers to leverage SQL Server 2005 in their PHP application.
· With this Driver, we are proud to address the needs of customers who have asked for a Microsoft-supported solution, and bring SQL Server’s scalability to PHP developers.
· The Driver is implemented as a procedural direct extension (also referred to as )
· Microsoft envisions working together with Zend and the PHP Community to ensure that the SQL Server 2005 Driver for PHP is a great offering for PHP developers and part of Zend’s core PHP offering.
· Microsoft Corp. today announces a strategic partnership with Zend Technologies that will ultimately provide people with better control over their personal information on the Web and greatly improve the trustworthiness of Web-based interactions.
· The strategic partnership will enable support for Information Cards by PHP developers through a component built for Zend Framework (Zend’s open source PHP application framework for developing Web applications and Web services).Using this component standalone or as part of the framework, PHP developers will be able to specify a Web site’s security policy and accept information cards from trusted third parties.
· Zend is producing an implementation of the Windows CardSpace authentication mechanism called Zend_Infocard, which will enable Web sites to validate CardSpace authentication tokens submitted to the Web site. Windows CardSpace enables users to provide their digital identities in a familiar, secure and simple way.
· Details on FastCGI, integration with IIS, http://www.iis.net/php
· Details on SQL Server 2005 Driver for PHP, http://www.microsoft.com/sql/php (not yet launched)
Here is the “Official FAQ”
Q: What does it mean for a product to have a “Go Live” release?
A: A Go Live release of any Microsoft technology is of the highest possible quality before officially releasing to manufacturing. Because the release meets this higher standard, it is accompanied by a free license allowing customers to ‘go live’ with the technology by deploying it into production environments today, rather than waiting for the official RTM version.
Q: Is there a commercial offering from Zend?
A: In addition to submitting the results of the technical collaboration to the community, Zend includes the results of the technical collaboration in its Zend Core product line for the Windows Platform, which is available for free from Zend. Zend also makes available a range of paid support packages for this Zend Core product line.
Q: What is duration of the Microsoft-Zend agreement?
A: The specific terms of this agreement are confidential.
Q: How would you now characterize the relationship between Microsoft and Zend?
A: Microsoft remains committed to ASP.NET. That said, we understand many developers operate in mixed environments and we are committed to working together with developers, partners and the community to provide solutions that meet customer needs. While Microsoft and Zend compete from the perspective of ASP.NET vs PHP, we share the common goal of making sure developers, IT Pros, and web hosters have a great experience when using PHP on Windows. This is the basis of our relationship and of this technical collaboration.
A2: Zend receives feedback daily from the PHP community that it is important that PHP is well supported across the full range of hardware and software platforms in use by individuals and organizations. Improvement of Windows support has been the most requested. Zend is very excited to be able to work directly with Microsoft to deliver these improvements.
Q: Why are you working together?
A: We are working together to make sure that developers, IT Pros, and web hosters who use PHP have a great experience using Windows, SQL Server and other Microsoft technologies.
Q: Isn’t this a conflict of interest for both companies? How does this impact Microsoft’s .Net framework?
A: Microsoft’s recommended development platform is .NET and we remain committed to this platform. However, Microsoft and Zend share the common goal of making sure developers, IT Pros, and web hosters have a great experience when using PHP on Windows. This collaboration makes it easier for PHP developers to run their applications on Windows and leverage the capabilities of the .NET Framework if they so desire in IIS 7.
Q: Are you abandoning ASP.NET in favor of PHP?
A: Absolutely not. Microsoft remains 100% committed to ASP.NET. The ASP.NET product group continues to innovate and release new capabilities for ASP.NET and is always looking for new ways to more deeply integrate ASP.NET into Microsoft’s Web server platform. For example, in its upcoming release, IIS7 adopts the ASP.NET configuration system and extensibility interfaces, and integrates ASP.NET into its HTTP request processing, management tools and tracing. However, we understand many developers operate in mixed environments and we are committed to working together with developers, partners and the community to provide solutions that meet customer needs. This includes making sure that customers have a great experience when using PHP on Windows.
Q: Is Zend positioning Microsoft as its preferred Operating System vendor of choice?
A: PHP has been created to be used in mixed environments, so PHP (and therefore Zend) does not have a concept of a preferred OS. Zend and the PHP community are working hard to make PHP the best it can be on all platforms it supports.
Q: Why would PHP developers / ITPros /Hosters want to develop on Windows?
A: First of all, a large number of PHP developers already use Windows as their application development platform. Improving their experience with running PHP applications on Windows for production is a natural next step. In addition we’ve seen growing interest from PHP developers who are interested in leveraging specific Windows features like Active Directory to build integrated authentication and other scenarios. From the ITPro/Web hoster perspective, supporting PHP on Windows lets them meet increasing customer demand and allows them to benefit from unique Windows Server 2003 benefits such as simplified administration and integration with other Windows services.
Q: Wouldn't the best solution be Phalanger – the Microsoft sponsored community effort to build a PHP implementation on the .NET Framework’s CLR? Why not?
A: While we expect that some developers will want to choose Phalanger, we know that others are interested in staying with the PHP runtime while looking for ways to leverage Windows features. We want to make sure that these developers have the best experience on Windows no matter which choice they make.
Q: Will other parties be permitted to redistribute FastCGI in their products or solutions?
A: Yes, the End User License Agreement for the Microsoft FastCGI Extension for IIS6 specifies how to acquire permission to redistribute.
Q: When will the FastCGI Extension be officially released?
A: The FastCGI Extension for IIS6 in Windows Server 2003 will be officially released before the end of the calendar year. FastCGI for IIS7 is a built-in component of IIS7 in Windows Server 2008, thus it will be officially released when Windows Server 2008 is released in early 2008.
Additional Questions about FastCGI
Q: Can you provide more details on optimizing PHP on Windows Server 2003 and Windows Server 2008?
· In order to address the needs of developers, partners and community using PHP on the Windows platform, Microsoft and Zend have identified key technology areas that we are focusing on. There are three key areas of collaboration:
o Core PHP and IIS Collaboration. Zend and Microsoft will collaborate to develop PHP performance improvements to significantly increase the performance of PHP on Windows. Microsoft will work with engineers from Zend and the PHP community to identify and implement improvements for PHP on IIS6 (part of Windows Server 2003) and IIS7 (Windows Server 2008 32 bit and 64 bit editions). These improvements will be submitted under the PHP license to the PHP community. Additionally, Microsoft will develop and release an IIS add-on component (FastCGI) that will serve as the interface between PHP and the IIS Web server. This FastCGI component will be made freely available from Microsoft for licensed users of Windows Server 2003 and Windows Server 2008.
o Continuous Testing & Engineering. Zend will establish a Windows testing lab and conduct regular tests and performance improvements to maintain high performance of PHP on Windows as PHP evolves. This lab will be comprised of a cluster of Windows Server boxes (both 32-bit and 64-bit) and a testing framework which will be used to run tests prior to major releases of PHP. The results of these tests will be used by the engineers to identify and fix bugs.
o Community Participation. Zend and Microsoft will continue to actively participate in the PHP community to continue to address Windows-related issues.
Q: Can the FastCGI component that the IIS team has developed be used with other applications like Ruby?
A: Microsoft has supported the FastCGI open standard so that it can support a CGI-capable runtime. Microsoft does not plan to test other runtimes itself, but welcomes efforts in the community to do so.
Q: Is it based off the open source FastCGI component?
A: No, but Microsoft supported the FastCGI standard.
Q: Why didn’t MS release this as open source or contribute the code to the open source version?
A: By including the FastCGI Extension as part of the Windows supplemental license, Microsoft and IIS product group are able to deliver and support a technology with the level of support and testing standard across the Windows product line.
Q: Why isn’t ASP.NET in the Server Core installation option?
A: We are currently working on adding the .NET Framework – which ASP.NET requires – to the Server Core installation option. However, we have nothing to announce at this time.
Q: Why should people run IIS7 on Server Core if they can’t run ASP.NET applications?
A: The combination of IIS7 and the Server Core installation provides an extremely secure, reliable and scalable hosting platform for non-ASP.NET Web sites and applications because this installation option is completely streamlined with all unnecessary services and components removed. In addition, for hosting static content in particular, such as video and images, and for hosting ASP, ColdFusion, JSP and PHP sites, IIS7 is a robust, cost effective solution as part of Server Core installations.
Q.: Will ASP.NET ever be in the Server Core option?
A: Yes, although we have nothing to announce at this time.
Q: Apache can run on the Server Core option. Why should people run IIS7 instead?
A: IIS7 on Server Core provides an incredibly secure, reliable and scalable hosting platform for non-ASP.NET Web sites and applications. For hosting static content in particular, such as video and images, and for hosting ASP, ColdFusion, JSP and PHP sites, IIS7 is a robust, cost effective solution as part of Server Core installations. In addition, there is stronger management support for IIS7 than Apache on Server Core. For example:
· IIS7 Server Core deployments can be managed on the box from the command line or by editing clear-text xml files.
· IIS7 can also be managed remotely through the firewall over HTTPS with the IIS Manager GUI tool.
· Administrators can securely delegate management of IIS7 Server Core deployments to developers and content owners.
Apache does not offer any of these capabilities when it runs on Server Core installations, making IIS7 a much better option.
SQL SERVER 2005 DRIVER FOR PHP
Q: When will the final driver ship (when is RTM)?
A: We plan to ship the PHP Driver in the first half of 2008.
Q: Why now? Why wasn’t a PHP Driver available before?
A: The timing is right because it builds on the FastCGI’s GoLive release on 9/24. With the FastCGI release, PHP developers and hosters can choose to run PHP applications on Windows if the value-add of the platform appeals to them. Similarly, with the PHP Driver, we are providing a Microsoft-supported connectivity story so that PHP developers and ISVs can choose to leverage SQL Server in their applications.
Q: Will the SQL Server 2005 Driver for PHP work with SQL Server 2008? What about SQL Server 2000?
A: The Driver for PHP is currently compatible with SQL Server 2005 and SQL Server 2000. It is currently not supported with SQL Server 2008 but we expect that support in the future.
Q: How will the Driver be supported?
A: This Driver will be supported as a Microsoft component in accordance with the Microsoft Support Lifecycle policies. See microsoft.com/lifecycle for details.
Q: Is Microsoft committed to supporting this driver for future versions of PHP?
A: We are committed to supporting the driver until the same lifecycle policies as other components shipped by Microsoft. You can find details at microsoft.com/lifecycle.
Q: What kind of performance improvement is expected?
A: This version is a true preview release to get customer feedback on the design, API, and functionality – we don’t have performance benchmarks at this time, but will likely provide this as the RTM release becomes available.
Q: What kinds of benefits will I get using SQL Server instead of MySQL?
A: Strong customer connections are priority one for Microsoft and help to accurately deliver software to meet industry needs. Unlike competitive offerings, SQL Server is a comprehensive data management platform that includes integrated developer tools, business intelligence tools and support for mission critical systems with unprecedented reliability and scalability. Because we offer customers a wide variety of solutions from Express to Enterprise, we believe that we meet the needs of customers regardless of their size and budget.
Q: What platforms are you targeting? Will there be an extension for Linux/Unix?
A: This release targets the Windows platform. Our release aligns with IIS investments in FastCGI to optimize PHP support on Windows.
Q: Does this mean SQL Server will be supported on Linux?
Q: Does this release support Apache?
A: The CTP has not been tested with Apache, however there is nothing IIS-specific about the SQL Server Extension.
Q: Will you support existing database abstraction layers like PDO, ADODB, PECL, etc.?
A: We have made serious investments in optimizing SQL Native Client (ODBC) as a first-choice API for native access to SQL Server. By creating a new PHP Driver that leverages it, we will be able to bring the scalability benefits of this investment to PHP developers. We chose to create a new component instead of adapting existing components to avoid compatibility blockers to adoption. We may further engage with existing database access projects to assist in the adoption of the new SQL Server 2005 Driver for PHP.
Q: What type of feedback and participation are you looking for from the community?
A: We are seeking feedback on the design of the PHP Driver from the community as part of this CTP release. At this point, we are not seeking source code contributions.
Q: Will Microsoft provide the source code for the PHP Driver?
A: We see value in providing the source code of the PHP Driver, but there are tradeoffs that we still need to assess before making this decision.
Q: Does this mean you will open-source TDS?
A: Microsoft actually has a program for licensing the TDS protocol to developers. If it does not meet the needs of your project, please send us feedback on how we can improve it.
Q: What does this mean for FreeTDS?
A: We won’t speculate on the impact for others, but by leveraging the first class SQL Native Client (ODBC) for data access, the new PHP Driver will bring the latest SQL Server features and optimized performance to PHP developers.
Q: Will this distribute this as a PECL extension or with other integration frameworks (e.g., Cake)?
A: We currently plan to distribute the PHP Driver as a free Web download only, but welcome feedback on other important distribution channels.
Q: Do you plan to work with existing PHP applications and/or projects to help enable SQL Server support?
A: Yes. We’re still evaluating how to best contribute to the community of PHP applications that would benefit from this driver. In the meantime, please stay tuned to blogs.msdn.com/sqlphp.
Q: Will it be syntactically matched with the MySQL Driver?
A: No, the APIs are not compatible.
Q: Do you have example code?
A: Yes, the package comes with documentation containing example code.