Before we go into how we added Easycom for PHP on the IBM i to the Seiden Groups Community Plus edition, I would like to say thanks to Alan and his group for the effort and work they put in to bring this to the IBM i community. We have been asking for an alternative to the Zend Version for a very long time and its finally available. I hope they see many more customers taking up the challenge of adding PHP and web interfaces to their IBM i applications.
OK, so Alan Seiden reached out to us to help with verifying Easycom and their PHP community Plus version would work together. Overall everything went pretty smoothly, but finding the correct version of Easycom and understanding how this all fits together is probably where some will struggle to get through. The following provides an insight to a couple of problems we encountered and how we resolved them.
First problem relates to the available versions of PHP, the Easycom product is offered on a trial basis which can be downloaded via a link from the Aura website, unfortunately the version provided via the link is not the latest release of Easycom and it is woefully behind in terms of PHP release support. We have asked that Aura remove the links that point to the download to help reduce the confusion and add a process where the correct downloads can be found. In downloading the trial we went through a process of registering who we were and what system we would be running the trial on, this resulted in keys being generated and emailed to us for the purpose of the trial. It will also add you to the database within Aura so they have your contact information should they need to follow up once the expiry of the keys occurs. We never get bombarded with requests from Aura so registering should not be a problem for most to go through the registration process.
Next, the trial shipment would not install on V7R3 of the OS. We had to request a copy the latest Easycom installer that would run on V7R3 and V7R4, this was promptly provided by Aura. (Don’t waste your time downloading the trial just request the latest copy from Aura via their contact form, or ask us if you need any help getting a copy). The copy provided does not contain the latest PHP version of modules/extensions (it did not match with the Seiden Groups required V8R1 version as shipped with Community Plus). Aura no longer updates the entire installer for each PHP release/ update but instead provides an update .zip file with the new content. The zip file we downloaded is actually labeled ‘EasycomPHPforAIX_ZendServer8_1_x_01.nZ3Wj8’, we wondered if we had the correct download at first but Aura confirmed it works on both AIX and IBM i (its PASE after all). The update contains the modules for PHP version 7.3, 7.4, 8.0, 8.1 and ships in both 64bit and 32bit versions.
In the past the installer would be able to figure out the correct Zend Server directory and PHP version directory to move the modules to, but with the Seiden Groups install we had to manually move the modules to the correct directory and update the correct php.ini file to configure the modules. That may be something that needs to be addressed in the future?
Once at this stage we should have been good to go! we restarted the Apache server and tried to access a page on the server which served PHP content and had some Easycom API functions, but the server returned an internal server error! After some correspondence with Seiden Group and Aura support it was determined that we had an extension missing from the install. The module that appeared to be missing was libphp.so, this is something Alan Seiden had seen in the past and that was fixed at the time by an update from Aura. The new Community Plus build does not ship the libphp.so module as a dynamically loadable extension which requires others to statically add to their modules. I tried to find an old copy of Zend Server to see if they shipped libphp.so but unfortunately I deleted all of the Zend Server installs I had many years ago so could not confirm if it ships with Zend Server.
Aura did know of the problem and promptly sent us another fix for one of the modules (i5comm.so) which we installed. The Apache Server did start OK but still complained about pdo_easycom.so which has the same missing module as the i5comm.so object. Aura have not provided a fix for it yet and to be honest installing the pdo_easycom module is not necessary. It is only provided for backward compatibility for those that used the pdo_* API’s so if you are not using those and have other pdo_* modules installed just leave it out.
I am hopeful that Aura will statically build in the module in the future, once that is done the problem will disappear. Removing the pdo_easycom extension from the configuration removed all errors and the Apache Server started OK.
The following couple of images show Seiden Groups Community plus running on one of our LPAR’s with Easycom. We are still using Linux as our web server running NGINX or Apache2, but we are now able to confirm that Seiden Groups Community Plus edition runs with Easycom without any noticeable problems.
If you have any questions or would like assistance installing and running Easycom please let us know. Also, keep watching the Blog as we will be adding some coding examples of how Easycom can be used to bring IBM i content to a web browser, that will work on both Linux and IBM i running Community Plus.