As the leading scripting language for the web, PHP has been a key offering on IBM i for more than 14 years. With its robust abilities to both access Db2 as well as ILE programs and artifacts, PHP provides capabilities for implementing web-centric applications tied to both dynamic content as well as existing business logic.

Join us as we explore the diverse and inextricable links between IBM i and PHP, and provide in-depth articles, webinars, whitepapers, and training resources that can help PHP developers excel with IBM i.

IBM i and Db2

There are several approaches that can be taken with PHP to leverage Db2 to web-interfaces including writing custom PHP code, leveraging third-party solutions such as phpGrid, and develop applications with Frameworks such as Laminas and Middleware such as Mazio.

Take a look at this blog for more information on PHP and Db2.

Additionally, with the availability of the open source database management system, MariaDB, IBM i shops also enjoy the ability to implement their own variant of the LAMP stack (iAMP) to deploy cutting-edge, business-ready, productivity solutions such as WordPress, Drupal, Magento, and many others all unchanged on the platform.

Zend Server / PHP and IBM i

PHP has been available for the IBM i platform since the introduction of Zend Core (the predecessor to Zend Server) in 2006.

PHP is at the forefront of what is often termed "modernization" efforts on the IBM i platform. One of the key benefits of PHP is the ability to access Db2 data and extend the reach and influence of the data via web forms. This article on Db2 databases will introduce you to several facets of Db2 access including writing custom code, using 3rd party utilities for deploying data-grids, and using frameworks/middleware to streamline the development process.

Often we think of modernization efforts as rip-and-replace – essentially developing/deploying a new application that replaces an existing solution. This can often be a costly and time-consuming effort and may not be what is needed for the benefit being looked for. Rather than rip-and-replace, an effort for modernization that should be considered is 'augmentation'.

With this approach additional applications, in our case PHP scripts, are implemented to provide additional functionality that leverages the existing data that is generated and maintained by the existing 5250-based application. This blog on custom PHP applications discusses a common approach to modernization used by customers in the ERP (Enterprise Resource Planning) space that use PHP applications as new was of consuming the ERP data.

Community PHP on IBM i

This section of the content hub will answer your questions with regards to Community PHP.

As first introduced here the community release of PHP is available for the IBM i platform. Additional information on getting started with community PHP as well as installing community PHP are available for those who want to kick the tires of PHP via the community release.

It is important to note that Zend Server continues to be offered for IBM i and there are key differences between Zend Server's PHP offering and Community PHP. Zend Server is the preferred solution for Enterprise customers and any production use of PHP.

While community PHP and even the basic license of Zend Server are sufficient for kicking the tires and prototyping, once you go into production a supported solution is paramount! There are other differences beyond the support model that will be outlined below.

Keep in mind that Zend Server delivers both a certified PHP stack (language and extensions) as well as an Application Server with numerous functions to assist with both development and production including:

  1. Monitoring
  2. Application Profiling
  3. Code Tracing
  4. Application Deployment

Support

Let’s get the support question out of the way first. Support can be broken down into two broad categories, solution support and fixes. Community PHP has no “formal” method of support. As the name implies, support comes from the community in the form of forums, blogs, email lists, web sites, etc.

The community does provide fixes for the PHP engine, specifically two years of bug and security fixes and a third year of just security fixes. It needs to be understood that at the end of three years there is no additional support for the community release of PHP.

Let’s contrast that with support available with Zend Server. First with a paid license of professional or enterprise you have access to the Zend by Perforce support team for comprehensive product support. Additionally, when it comes to bug and security patches, Zend provides support for five years from the community release date – a full two years past the community provided support.

As an example, support from the community for version 7.1 of PHP ended at the end of 2019 while support from Zend Server for the same version continues through the end of 2021.

The following matrix summarizes the support differences between Community PHP and Zend Server:

 Community PHPZend Server
  BasicProfessionalEnterprise
Bug Fixes2 years past release5 years past release
Security Patch3 years past release5 years past release

The importance of Long-Term Support (LTS) cannot be overstated. You can review the LTS dates for both community and Zend Server here and you can learn more about the importance of LTS in the IBM i space here.

Extensions

Extensions provide additional functionality for the PHP environment and invariably are needed for almost any PHP implementation. One of the key differentiators between community PHP and Zend Server is that Zend Server provides 80+ extensions for PHP that are delivered with the installation of Zend Server.

While the same extensions are generally available for community PHP they require additional installation/configuration steps. Extensions include items such as:

  1. Calendar extensions
  2. Math extensions
  3. Database Extensions (see below)
  4. XML extensions

The above list is just a brief sample of the various extensions available for PHP.

Database Drivers

As the “glue” that brings dynamic content to the web, database drivers are imperative to PHP in general and certainly to PHP on the IBM i community.

The principal database access of importance to IBM i is, of course Db2, but for those looking to implement LAMP-based open source productivity solutions the driver for working with MySQL/MariaDB is also important.

The following chart summarizes both the drivers that are available for Community PHP and Zend Server’s certified stack:

DriverDescriptionCommunity PHPZend Server
ibm_db2Procedural DB2 callsNeeds to be compiled separatelyDelivered with Zend Server installation
pdo_ibmObject Oriented InterfaceRequires separate RPM installation (php-pdo)Delivered with Zend Server installation
ODBCOpen DataBase Connectivity ClientRequires separate RPM installation (php-odbc)Delivered with Zend Server installation
MySQLProcedural MySQL (MariaDB) callsRequires separate RPM installation (php-mysqlnd)Delivered with Zend Server installation

It's important to note that community PHP is not a drop-in replacement for the certified PHP stack delivered with Zend Server. Both community PHP and Zend Server PHP originate from the same source; however,

Services

While version 7.x of PHP has been available for since late 2015 and brings impressive performance improvements it is estimated that better than 50% of business continue to run their PHP applications on version 5.x of PHP.

The Professional Services team at Zend by Perforce as a wealth of experience and tooling to help customers with migrating between PHP versions. In addition to migrations, professional services can also help with items such as Performance Auditing, Skills Transfer with Zend Server On Boarding and PHP Smart Start, as well as custom consulting. Check out the Zend Services page for more information.

IBM i Education

As the PHP company, the Zend by Perforce team specializes in developing and delivering training. Training offered includes specialized training for IBM i customers which includes a foundations course that in addition to generic PHP concepts also includes how to access Db2 from PHP and using PHP to leverage existing business logic from programs in the ILE like RPG, Cobol, and CL.

You can check out the Zend training site for more information on the Zend by Perforce classes as well as PHP certifications.

Open Source and IBM i

IBM has a long history of both contributing to as well as adopting various open source standards like OpenSSL and TLS as well as open source solutions. Consider the following timeline:

Image Zend Hub PHP and IBM i Body Hub 2

The PHP stack delivered by the Zend Server (and its predecessors) is seen by many as the driving force for Open Source on the platform as it opened the eyes to the community to the capabilities that open source can bring to the platform both for internal applications as well as leveraging data and business logic to a larger constituency. And make no mistake, while other open source solutions have come to the platform, PHP remains a key for open source adoption.

Open Source on IBM i leverages the Portable Application Solution Environment (PASE) to provide a Unix like environment for running solutions such as PHP, ActiveMQ, Nginx, and many others. Check out this blog for more information on IBM PASE.

Perforce has a team of enterprise architects that work with customers and open source on a daily basis to provide comprehensive support – both pro-active as well as break-fix. Check out the OpenLogic page for more information.

Hands on With PHP and Open Source on IBM i

Want to learn more? There is no better way to get familiar with a technology then to jump in with both feet and start to work with the technology. Unfortunately, we don't always have the luxury of installing additional software on our production systems.

Perforce has developed a number of self-paced hands-on exercises that leverage a public-facing IBM i instance to allow you to explore a given technology/solution, all at no cost! Exercises both for PHP as well as various Open Source solutions are available. Check out our IBM i training page for more information and registration details.

See IBM i Exercises

Additional IBM i Resources

Looking for additional resources for IBM i? Be sure to check out our selection of IBM i resources below.

IBM i Articles

White Papers

Recorded Webinars

Training