Encrypting IBM i ODBC Connections from Linux

ODBC with Db2 for IBM iSeveral clients have asked how to encrypt ODBC connections between Linux and IBM i to keep their Db2 data safe in transit.

To encrypt ODBC data, IBM recommends the industry-standard TLS encryption protocol (the successor to SSL).

Read more

Continuous Integration for PHP Extensions

(Co-written with Alan Seiden)

CI/CDContinuous Integration (CI) ensures that every time a developer commits changes to a version control system such as Git, the code is automatically built and subjected to automated tests.

CI has been invaluable to us. As maintainers of PHP’s PDO_IBM and ibm_db2 extensions, we use CI to ensure high quality across platforms.

Platforms supported by PHP’s extensions for Db2 include IBM i, Unix/Linux, and Windows. While our focus is IBM i, we must ensure compatibility with the others. Reliance on manual testing would introduce the risk of broken builds or subtle bugs. Automation is a must.

In this post, we explain how we use CI principles when building and testing PHP’s Db2 extensions.

Read more

ODBC Connection Strings for IBM i Db2

ODBC with Db2 for IBM iAs ODBC gains popularity for IBM i database access, developers of web applications and APIs need information on defining ODBC database connections. This article demonstrates tips and techniques for effectively using ODBC connection strings in all programming environments, including popular languages such as PHP, Python, and Node.js.

For an example of how connection strings are used in a program, see How to Query IBM i Data with PHP and PDO_ODBC.

Read more

Simplify with Subsystems

IBM iA major differentiator of the IBM i operating system is the use of subsystems to separate workloads, often for managing memory and optimizing performance. While those are still valid reasons for separating work into multiple subsystems, today’s large memory sizes and fast processors reduce the need to optimize performance in this way.

In this article, I’ll explain how subsystems can make today’s web-oriented application workloads much easier to manage. Read more

Visual Studio Code for IBM i: A Resource Guide

Code for IBM iJust over a year ago, a group of developers led by Liam Allan presented the IBM i community with a new, free IDE—an IBM i extension to the popular Visual Studio Code.

VS Code for IBM i offers an alternative to RDi, the heavy-duty, fee-based graphical IDE for IBM i, and SEU, the native greenscreen IDE. It’s faster than RDi and easier to learn than either RDi or SEU. It supports development in RPGLE, COBOL, JavaScript, PHP, Python, Node.js and other languages. For these reasons, Code for IBM i is a great solution for:

Read more

How to Query IBM i Data with PHP and PDO_ODBC

ODBC & Db2 for iOf the PHP extensions that can connect to IBM i Db2, we recommend PDO_ODBC whenever possible.

Although the classic extensions (ibm_db2, PDO_IBM) and older ODBC continue to work, we prefer PDO_ODBC for several reasons:
Read more

Alan’s PHP Tips to Wow Your Users [VIDEO]

“The order entry app is hanging again!”  Nobody wins when your system is slow or stuck.

Find out how the best IBM i teams keep their users happy and productive with snappy PHP applications. In this video, Alan shares tips to optimize PHP websites and APIs for improved speed and stability. He explains why newer PHP versions are inherently faster and offer smoother migrations. He also details how to use Apache’s mod_deflate, look for network issues and bots, manage session clean-up, prepare for business growth, improve PHP Db2 performance, profile your application, and much more.

Read more

How to Choose a PHP API Framework

APIAlan and I provide mentoring in API strategy for a software company who asked us whether they should use a PHP framework and, if so, which one would be best. They also wondered whether to invest in a commercial API gateway.

My thoughts on APIs and frameworks struck Alan as useful for any language and platform. Alan encouraged me to document my “philosophy of frameworks” here for anyone planning to develop web apps or APIs.

Read more

PHP 7.3 Enters End of Life Today—Free Upgrade Assessment

PHP on IBM iPHP 7.3 entered end of life today and will no longer receive fixes—including security fixes.

If you’re still running applications on PHP 5.4, 5.6 or 7.3 (run php -v to check), it’s time to schedule a free upgrade assessment.

PHP upgrades are easier now, thanks to IBM’s adoption of RPM-based open source packages. Over the past year, our clients have reported smooth and even enjoyable migrations to CommunityPlus+ PHP 7.4 and 8.0.

Read more

PHP 8.1 Released for IBM i

PHP 8.1 and IBM i

Good news everyone! In cadence with the release of PHP 8.1 by PHP.net last week, companies running PHP on IBM i can now download PHP 8.1 for use with their own applications.

According to this briefing with IBM i’s Open Source Business Architect, Jesse Gorzinski, staying current with PHP is a best practice for many reasons—for security and security audits, to fix deprecated code before you dig a huge technical debt hole, to keep your PHP environment running smoothly, and so on.

I’ll cover how to access the IBM i version of PHP 8.1 later in this post. First, though, let’s survey our favorite enhancements in this new release. We’re a big fan of PHP’s own release notes, so we recommend that you read them.

Read more