As an IBM Champion and founder of Seiden Group, Alan Seiden leads a team of developers who mentor clients while helping them build APIs and web/mobile applications using open source, PHP, Python, and IBM i business logic. He co-developed the PHP Toolkit with IBM and was one of the first Zend Framework certified engineers. An award-winning speaker, Alan has been called “the performance guru of PHP on IBM i.” Alan’s passion for the IBM i community inspires him to host the CIO Summit twice per year and mentor talented younger developers within the Club Seiden forum. He also offers a free monthly tips newsletter.
January 21, 2019 Alan Seiden
While PHP runs quickly via the Apache web server, command-line PHP scripts (run from PASE directly or via CL or RPG) have a lag on start-up. In this article, I show how to speed up PHP when called from the command line (known as PHP-CLI).
Why does PHP-CLI (command line PHP) have a slow start-up? While several reasons are often given, I’ve found the culprit to be the loading of PHP extensions that are enabled by php.ini and other configuration files of Zend Server. Examples of extensions are ibm_db2, simplexml, and Zend’s proprietary components.
Within a normal web server environment, …Read more
December 3, 2018 Alan Seiden
In my experience doing performance audits, I often point out that while PHP for IBM i comes perfectly configured for small applications, it must often be tuned to handle large workloads. When applications must accommodate hundreds or thousands of users, or use AJAX technology, two easy changes should be considered for PHP and Apache configurations.
1. PHP_FCGI_CHILDREN Setting In fastcgi.conf
On IBM i, Zend Server installs a configuration file called fastcgi.conf. Among other settings, it includes PHP_FCGI_CHILDREN, which determines how many PHP jobs run when its Apache server is started. The file — /www/zendphp7/conf/fastcgi.conf (Zend Server 9 or higher) or …Read more
September 10, 2018 Alan Seiden
Since its release on IBM i in 2006, PHP, a popular open source language for building web sites, has become well established on this platform. Like IBM i, PHP has kept up with the times, improving with each release. PHP is installed via a product called Zend Server, which offers a basic, free license for IBM i users, as well as premium paid licenses.
I wanted to learn more about the latest release, called Zend Server 2018 (pronounced twenty eighteen), so I interviewed Zeev Suraski, co-founder and chief technology officer of Zend, which is now part of Rogue Wave, …Read more
July 23, 2018 Alan Seiden
If you are hosting a website or API from your IBM i server, but wish to reduce your worry about allowing access from the Internet, we often recommend a reverse proxy (or “gateway”) server. An industry-standard solution, a reverse proxy server acts as a layer of safety between your production server and your firewall. On IBM i, the IBM HTTP Server (powered by Apache) for i can act as a reverse proxy server, so there’s nothing additional to install.
While there are several ways to set it up, one approach is to put the reverse proxy or gateway in a …Read more
July 9, 2018 Alan Seiden
If your web applications run on HTTP Server (Powered by Apache) for i, you can enable a powerful Apache extension, mod_deflate, to speed up your site. Just as zipping up files on your PC saves space and accelerates file transfers, mod_deflate “allows output from your server to be compressed before being sent to the client over the network.” (See https://httpd.apache.org/docs/2.4/mod/mod_deflate.html for more information.) My tests show a speed improvement of 10 to 50 percent.
You can compress any text-based output, including HTML (whether plain .html files, output from RPG CGI programs, PHP, or other languages), Cascading Style Sheets (CSS), …Read more