New QSHONI Commands: Integrate Python, PHP, Java with CL & RPG

QSHONI integration for IBM i RPG, CL and open sourceA few years ago I introduced you to my QShell on i utility – QSHONI. QSHONI makes it easy for traditional CL, RPG, and COBOL programs to call Python utilities and other QShell/PASE utility programs (PHP, Node, Java, etc.) and directly use their output. QSHONI opened up a whole new world of integrations to open-source apps from traditional IBM i applications.

I keep thinking I will run out of interesting things to add to the library, but the ideas keep on flowing.

Read more

What’s in Your ODBC Driver? A 2024 Update

ODBC with Db2 for IBM iSince IBM announced Yum support for installing the IBM i Db2 ODBC driver, as documented in our 2022 tutorial, users can update their driver more easily.

To help users determine what’s changed, IBM maintains a list of fixes and enhancements for each IBM i ODBC driver release.

Read more

Call/Parm Your Open Source Apps from RPG and CL with QSHCALL

QSHONI integration for IBM i RPG, CL and open sourceA few years back I created the QShell on IBM i (QshOni) project to allow QShell/PASE (open source) apps to be more easily integrated and used with traditional IBM i job streams written in RPG and CL. Since then, many developers have adopted QshOni to utilize their open source apps in conjunction with their classic traditional apps.

Recently I added several new commands to QshOni to make living the PASE life even easier for RPG developers. Today’s focus will be on the QSHCALL command.

Read more

Older 32-Bit PHP & PASE Apps Can Break in IBM i 7.5

This alert was originally published in Seiden Group’s July 2023 Support Bulletin.
Seiden PHP+ fully supports IBM i 7.5.

IBM i 7.5 includes OpenSSL 1.1.1, an upgrade that can disable older PASE applications that were tied to 1.0.2 or earlier.

Read more

Automate SFTP Transfers Using ‘expect’

IBM iA programmer asked recently how to automate their password-based SFTP transfer. How does one automate SFTP or any task that typically requires user interaction?
Read more

What’s in Your ODBC Driver?

ODBC with Db2 for IBM iSince IBM announced Yum support for installing the IBM i Db2 ODBC driver, as documented in our recent tutorial, users can update their driver more easily.

To help users determine what’s changed, IBM maintains a list of fixes and enhancements for each IBM i ODBC driver release.

Read more

Reading and Writing Physical Files in a Shell using Rfile

Want to read source member data from within an IBM i shell environment, such as SSH, QShell, or QP2TERM? Need to copy records from a text file to a physical file? Want a quick way to upload a save file without needing FTP?

IBM i’s Rfile command can do all these things easily. Rfile is designed to be easy to integrate into scripts, so it’s a great tool to have at hand.

Read more

Installing Composer on IBM i

Composer, a tool to manage dependencies in PHP applicationsThe open source Composer tool, which manages PHP project dependencies, has become standard equipment for modern PHP. New to this tool? I recommend this introduction to Composer.

Composer automatically installs or updates required components, known as dependencies, and any others required by those initial components. The required components are defined by the developer in an easy-to-read JSON-formatted text file.

Read more

Save your fingers when using PHP-CLI

2021 Update

The instructions in this blog post contain outdated paths and file names.

To learn the modern way to “save your fingers”—plus additional tips for setting up PHP on IBM i—refer to these two articles in our Open Source Documentation library.

In Batch PHP I showed how to call PHP from a command line. For example, with Zend Server 6 or 7 on IBM i, one would launch a PASE command line using the command CALL QP2TERM, or launch QShell using QSH, then type a command such as this:

For those of us who use PHP-CLI often, the above command can be a finger-buster. Let’s shorten the path by creating a symbolic link:

I created the symbolic link in /usr/bin, a directory that is likely to be in any user’s path.

Now try the shortened command:

To test the shortcut without a PHP script, use the -v switch, which requests version information (‘v’ for version) about your PHP installation.

The above command will return version information that starts out something like this:

By creating a symbolic link to the PHP-CLI binary, practitioners of PHP can speed their work while saving their fingers.

For more about symbolic links, see my article Link up with QShell.