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

RPGLE Linting and Content Assist with VS Code for IBM i

vscode-rpgle extensionA great IDE contains features that increase your coding speed and accuracy so you can focus on your program’s logic. One of my favorite productivity enhancers, content assist, has been bundled in Visual Studio Code for IBM i since its inception. Content assist gives you autocomplete options for code as you write it, reducing syntax errors.

Today we’re announcing a new killer productivity tool for Code for IBM i—a built-in linter!

Read more

Optimize Your IBM i Web Application Using FastCGI

(Co-written with Alan Seiden)

FastCGIFastCGI speeds up web applications by pre-starting and managing jobs for popular languages such as PHP. FastCGI can be configured to handle any language that supports the FastCGI interface, as shown in this FastCGI configuration for node.js. When it comes to PHP, you can trust tools such as our CommunityPlus+ PHP siteadd to set good FastCGI defaults. You can also customize fastcgi.conf to accommodate higher traffic, multiple environments, and to solve problems. Read on as we explain how FastCGI works and how to configure it.

Read more

Speed Up Web Pages and APIs Using Apache’s mod_deflate

Apache HTTP Server ProjectWhen we do performance assessments for web applications and APIs running on HTTP Server (Powered by Apache) for i, one of the first things we do is enable a powerful Apache extension called mod_deflate. Just as zipping up files on your PC saves space and accelerates file transfers, mod_deflate compresses output from your server before sending it over your network.

Does it really work? My tests show a speed improvement of 10 to 50 percent!

Read more

Git for All Your Code

IBM i + GitGit has become the de facto standard for open source version control. Nevertheless, while your team may be using Git for open source code, your traditional IBM i programs and other code may use no version control at all, or be stuck in a repository that is difficult to access.

In this article, we’ll cover why you might want to move code to Git and suggest tools that make the move practical for IBM i teams.

Read more

How Update-Alternatives Manages Multiple Versions of Python, Node.js, and other Open Source Packages

parallel versionsAfter a friend installed Python 3.9 side-by-side with Python 3.6, he asked, “I noticed that the newer version, Python 3.9, became the default on my IBM i system. How did the default version get set?” We explained how IBM used the update-alternatives program to set the default version of Python and other open source software packages.

Read more

Troubleshooting “already been bootstrapped” Message on IBM i

Setting up the open source environment on IBM i from Access Client Solutions (ACS) is usually easy, but sometimes you can run into problems. The most common error is when ACS claims that the environment is already set up (“bootstrapped”), when in fact it isn’t.

Read more

Visual Studio Code, IBM i & PHP

Visual Studio Code 1.35 iconEvery post about Code for IBM i thus far has been how it can be used for writing RPG, CL, COBOL, etc. But what about other languages? Of course, PHP is another one of those very popular languages on IBM i. Calvin wrote a little while ago about how it’s possible to use RDi to write PHP code on the server, which is great. I think we can take it up a notch, which brings us to this post.

Read more

VS Code for IBM i — Tips and Extras

Visual Studio Code 1.35 iconVisual Studio Code is a widely used IDE in the non-IBM i world. Recently we released Code for IBM i, a freely available extension for VS Code that supports RPGLE and COBOL development for IBM i. You can read about the basics of Code for IBM i and about code coverage functionality in my previous posts.

Today I’m going to cover three additional tips for using Code for IBM i. Of course, for any of this to work, you need to install Code for IBM i.

Read more

Solving “curl#6 – getaddrinfo() thread failed to start”

Curl-logoIf you download files onto your system using PHP, Yum, RPM, or other tools, there’s a good chance curl is involved, be it part of a library (such as PHP’s curl extension and the Guzzle HTTP client) or called on its own.

The version of curl provided in IBM i PASE uses multiple threads to speed up common tasks such as DNS lookups. When threading support is not available, however, curl fails.

Read more