PHP Decisions Loom as Original Distro Reaches End of Life
May 24, 2021 Alex Woodie
IBM i shops have five more weeks until Zend Server Basic, the PHP runtime used by thousands of IBM i shops over the years, reaches end of life and will no longer be offered, supported, or updated with security fixes. Customers that want to continue using PHP safely beyond July 1 will need to obtain a new license or move to a new PHP runtime.
The long history of Zend Server Basic stretches all the way back to 2006, which was the year when the PHP runtime became one of the first open source technologies to be adapted to run on i5/OS, as the IBM i operating system was then known. To seed the market with the new technology, IBM reached a licensing deal with Zend Technologies to include a copy of Zend Core for i5/OS (as it was called back then) with every copy of the i5/OS operating system, along with an entitlement to a year of free support from Zend.
It’s unknown exactly how many IBM i shops took IBM and Zend up on the offer over the ensuring years, but by all accounts, it was quite successful, with thousands of organizations adopting PHP, according to the best estimates of industry sources. Some of these IBM i shops did their own custom development with the new stack, which included the MySQL database (and subsequently the MariaDB replacement for MySQL), while others took the opportunity to bring pre-packaged PHP applications, such as Joomla or SugarCRM, into the midrange fold.
The open source landscape on IBM i is vastly different today than it was 15 years ago, and companies have many more language and runtime options to choose from, such as Node.JS, Python, and Ruby, to name a few. That success likely had something to do with the decision by Perforce, which owns Zend, and IBM to end the long-running arrangement.
The decision to end support for the product was announced over a year ago. IBM i shops that run Zend Server Basic today must migrate to a new PHP package, or risk not having access to security updates with an unsupported PHP runtime.
IBM put together a web page that lays out the three options IBM i shops have for obtaining a new PHP runtime. The options include:
- Upgrading to an enterprise or professional license for Zend Server from Perforce
- Moving to ZendPHP for IBM i from Perforce
- Moving to CommunityPlus+ PHP from Seiden Group
ZendPHP is the new name that Perforce gave to Community PHP, the open source distro that it introduced back in December 2019. Unlike Zend Server, Community PHP (now called ZendPHP) could be distributed via YUM and RPM, the new open source distribution method that IBM adopted in 2018.
ZendPHP is free and its source code is maintained by the community, with Zend taking the lead. The 64-bit runtime supports all PHP versions currently supported by the community, including PHP versions 7.3. 7.4, and 8.0. While it supports some PHP extensions and database connections, including PDO_ODBC, ibm_db2, and PDO_ibm, the software lacks much of the additional functionality that Perforce develops for enterprise and professional versions of Zend Server.
Perforce bills Zend Server as a full “application server” for PHP workloads on IBM i, with additional components like Z-Ray, code-tracing, a job queue, a deployment tool, and session clustering that help developers and administrators optimize production PHP environments.
As of the December 2020 update, Zend Server supports RPM/YUM distribution method and runs as a 64-bit application, although users can still run it as a 32-bit application when downloaded from the Zend portal and installed as a licensed program product (LPP). According to the release notes, Zend Server 2020 (as the latest release is known) supports PHP 7.2 through 7.4.
There are some similarities between ZendPHP and Zend Server, but important differences too, according to Erwin Earley, Perforce’s senior solutions consultant for Zend.
“Zend Server remains the preeminent offering of a certified PHP stack bundled with cutting edge application server functions such as monitoring and application performance management as well as 5250-based management functions,” Earley told IT Jungle earlier this year. “ZendPHP is Zend’s build and delivery of community PHP. While these are different products, they both enjoy the same integration points (i.e., setup of Apache, the ibm_db2 database driver, and the ILE Toolkit).”
Seiden Group, which unveiled its PHP distribution for IBM i at the beginning of the year, is the newcomer to the PHP for IBM i distribution game, even though its principal, Alan Seiden, has over a decade of experience with PHP on IBM i.
Seiden’s distribution, called CommunityPlus+, supports PHP versions 7.3 through 8.0, and is distributed as a 64-bit application through RPM/YUM. The software includes several extensions, including the PHP Toolkit and mail functionality, as well as several additional modules. It also includes several database connections, including ibm_db2 and PDO_ibm, which are maintained by Seiden, and PDO_ODBC.
Seiden is proud of the fact that he is supporting the legacy database drivers on behalf of the IBM i community. “Ibm_DB2 is working well. PDO_IBM is working well. We do support them and maintain them,” Seiden tells IT Jungle. “At the same time, I’ll say that PDO_ODBC has some advantages, especially when calling stored procedures with output parameters.”
As the days count down to the end of support for Zend Server Basic, Seiden expects to see interest perk up among customers that need to do something.
“I do expect to get more inquiries about it,” he says. “ISVs and consultants who have their own customer base to support have been pretty much on top of this and very aware and working on their options. But it’s possible that some customers, some PHP users may not be aware [that support for Zend Server Basic is ending] and may suddenly see the publicity and take action and start to ask about their options.”
The complexity of migrations of PHP on IBM i code bases depends on a number of factors, including the version of the IBM i OS, the version of the PHP language, and the state of the database connector, among other variables. In recent releases of the PHP language, the PHP community has gotten stricter about deprecating older and potentially unsecure elements of the code, so a move from PHP 5.6 to a current release (version 7.3 or newer) will be more involved. The PHP community skipped version 6.
Seiden points out that the RPM/YUM open source update method requires at least IBM i version 7.2, so any organization running IBM i 7.1 will face difficulties in adopting any of the PHP distributions that utilize RPM/YUM. It’s worth pointing out that Perforce still supports a 32-bit version of Zend Server that can be updated as an LPP.
In addition to the free CommunityPlus+ version of PHP, Seiden also provides paid 24/7 break-fix support. Seiden Group also offers a “install and learn” service that allows them to collaborate with Seiden’s PHP experts to learn more about PHP as the consultant helps.
Zend Server 2020 for IBM i comes in professional and enterprise editions. The primary difference between those two offerings is the enterprise version offers 24×7 support, while the professional version offers 9×5 support.