I recently set out on a new venture to develop some software for a new client...myself. Technically, the software will be used by another company, but for the first time in my 20-year career, I'll own the product when it's complete. And that's a good motivator to find the right tools. Aside from the obvious benefit of dumping the green-screen for good, there are many benefits to using PHP. Which brings us to the point of the article: to help you to get started using PHP to develop your user interfaces.
You'll note that there are an inordinate number of external links in this article. The reason I did this is that the information is located in what seem rather disparate places. It is therefore the opinion of the author that having the links all in one place would be of value. The reader is left to draw his/her own conclusion.
There are two parts to getting started using PHP on the iSeries. The first step is to get PHP installed and your environment set up for using it. This is not a difficult task, but it does warrant some attention. You can install PHP in two ways.
The first is to download the PHP source code and compile it. While this is the typical install for PHP in the Linux and Windows PC world, I would not recommend it for the typical iSeries developer. If you insist on going the compilation route, then the IBM Redpaper "Bringing PHP to Your eServer iSeries Server" provides a good, if somewhat dated, installation guide for you. Don't bother with the ODBC sample database mentioned toward the end of the Redpaper unless you need to use ODBC specifically. For the purposes of this article, we will be using the IBM_DB2 extensions. The user documentation for the IBM_DB2 extensions can be found here.
For the rest of us, the folks at Zend have created some great tools for developers using PHP on the iSeries. The specific tool that we need to get up and running right away is the Zend Core for i5/OS. At the time of this writing, all the Zend i5/OS products are available for free to Zend.com registered users. A PowerPoint document provides all the details on how to install and set up the Zend Core for i5/OS, which includes the PHP installation. The Zend tools are great for getting started and have some really useful features to help experienced RPG developers make the switch to PHP. I would also recommend the Zend Studio for i5/OS; you can check it out at Zend i5/OS products.
Once PHP is installed and you have an instance of the Apache server running, you can test the install by running the script shown below. I think that both of the install instructions in the links given above have a version of this same script. All it does is confirm that PHP is installed correctly and display the current PHP configuration settings.
Figure 1: You should see a screen like this after you run the script. (Click images to enlarge.)
So now that you have PHP installed and running correctly, you'll want to access your existing DB2 databases. To do that, you have to do one more thing. The IBM_DB2 extensions allow you to create a connection to any DB2 database, catalogued or not. However, connecting to a database that is not catalogued requires a bunch more parameters on the connect command and is a bit of a hassle if you are going to be accessing the same server most of the time. So we'll create a catalog entry for the database—or, as the iSeries sees it, a Database Directory Entry. Use the ADDRDBDIRE command as shown in Figure 2 to create a directory entry for the database on your local iSeries machine.
Figure 2: Use the ADDRDBDIRE command to create a directory entry for the database on your local iSeries.
Now you will be able to access the files on the local machine be connecting to YOURRDB.
In Part II of this tip, we'll cover how to use the IBM_DB2 extensions with PHP and how to access and update your existing DB2 files. If you get impatient, you can check out the IBM_DB2 reference in Chapter 4 of Developing PERL and PHP Applications for DB2.