Zend Preps Speedy New PHP and Runtime for IBM i
October 19, 2016 Alex Woodie
Zend today will officially launch the beta program for Zend Server for IBM i version 9 and the new PHP 7 language running on the Power Systems platform. The combination of the new language and runtime, which are being unveiled at the annual ZendCon 2016 show in Las Vegas this week, is expected to give customers a big boost in performance for their PHP applications, provided they don’t run into backward compatibility breaks that Zend built into the framework.
Performance is the definite headliner for the new PHP 7 language and Zend Server runtime. As we told you back in May, the Zend research and development group, led by CTO Zeev Suraski, spent months in the lab to come up with a way to speed the execution of PHP on Intel and IBM platforms alike.
After failing to get performance out of a just in time (JIT) compiler for PHP, Suraski and his team looked to PHP’s robust memory footprint for potential gains. By slimming down the PHP stack’s memory utilization, and taking a knife to CPU utilization as well, the Zend architects documented a 2x performance gain compared to PHP 5 on the same Intel hardware. Zend then decided to release this as PHP 7 and Zend Server 9. The company, which is now owned by Rogue Wave Software, skipped PHP 6.
PHP 7 and Zend Server 9 for Intel platforms has been available for months, but it took Zend some extra time to ensure that the language and the runtime execute without a hitch on Power Systems and IBM i. This was due to the special nature of IBM i and exacting demands of IBM i customers, not to mention some big changes that are happening in the language and the runtime with this release, explains Mike Pavlak, solutions consultant for Zend/Rogue and a PHP-on-IBM i expert.
“Zend Server 9 for IBM i is a special build. It’s not the typical Linux build, so to speak,” Pavlak tells IT Jungle. “The i folks expect stuff to work, whereas people in the open source community like to hack away at things. . . . We really wanted to make sure [the IBM i build] is fully baked and ready to go before we turn it loose on our enterprise customers who expect that Rochester-level of quality.”
Extra care was spent ensuring the DB2 extension, called Zend DBi, works as advertised. Pavlak says Zend is working closely with IBM to ensure DBi is fully compatible with everything else. “We’re very excited that that’s working well, and we’re excited about floating it to the community,” he says.
All of the PHP extensions, including DBi, “had to be rebuilt . . . because there was a fundamental architectural shift in the composition of PHP 7,” Pavlak says. “Most of the gotchas are backward compatibly breaks.”
The good news is that most IBM i shops using Zend’s PHP distribution won’t have much to worry about with the backward computability breaks. That’s because most of the PHP features that have been fully removed in PHP 7–or “bad habits” that were “depreciated out,” as Pavlak says–have their roots in PHP 4. The first release of the PHP runtime for i5/OS, called Zend Core, was based on PHP 5, which made major improvements over PHP 4, particularly in its object-oriented programming model.
“Where you might have had a couple of depreciations in PHP 4 that were never fully enforced, when PHP 7 came along, everything’s been forced through,” Pavlak says. “Most IBM i customers started with PHP 5.2, because that’s when Zend Core started, so a lot don’t have the bad habits.”
Nevertheless, because PHP 7 and Zend Server 9 are major rewrites that feature fundamentally new architectures, IBM i shops will want to fully test their PHP applications in the new language and runtime. To that end, Zend has tweaked Zend Server 9 so customers can install that runtime next to an older release of Zend Server on the same system, which should help customers test their systems.
Because of the changes, the move to PHP 7 and Zend Server 9 will be more of a migration than an upgrade, according to Pavlak. Zend will be ready to assist customers with the migration.
“If the customer is well-prepared, the migration should be fairly straightforward,” he says. “As we know, here in the IBM i space, a lot of folks have this fundamental mantra of, if it works don’t fix it. To this day, people call us up and say, ‘Hey, my Zend Core stopped working.’ We say, ‘Zend Core? That’s a product that came out in 2006. We haven’t supported it for six years.’ We fully suspect we’re going to see a wide dispersion of events out there.”
Backward compatibility issues will be front and center in a series of technical boot camps that Zend is holding at ZendCon this week and next week at COMMON‘s Fall Conference in Columbus, Ohio.
It’s too soon to tell when Zend Server for IBM i version 9 will become generally available. One thing that seems certain is that the MariaDB database won’t be ready at that time. Most production PHP applications, such as Drupal and SugarCRM, rely on the MySQL database. But MariaDB, which is a plug-in replacement for MySQL, is rapidly picking up steam as MySQL users look to break away from Oracle.
Pavlak says work is progressing well on the MariaDB front. “I have it working in the lab, and it works really, really well,” he says.