PHP dynamic programming language

ibm_db2 & ODBC Run Side-by-Side in Seiden CP+ PHP

Historically, PHP on IBM i implementations demanded loyalty to a single database connection style. You had to choose either the classic extensions (ibm_db2 / PDO_IBM) or the ODBC extensions (odbc / PDO_ODBC.) Operating system limitations prevented both types from being loaded at the same time.

In July 2021, we overcame those limitations to enable coexisting database extensions in Seiden CommunityPlus+ PHPYes, now the classic PHP database extensions can run side-by-side with ODBC! We will explain how this was done in a future blog post.

As of this writing, you’ll find this feature exclusively in CP+ PHP. When you install Seiden CP+, all db2 extensions (ibm_db2, PDO_IBM, odbc, and PDO_ODBC) are enabled by default.

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

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

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

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

Issues with Port 10080

You might have heard that the major browser vendors were planning to block port 10080 – the port used by Zend Server through ZS 8  (PHP 5.6). Firefox made the first move, then Chrome followed. We have been receiving support requests on this issue since April 2021. Why did the browser vendors block port 10080, and what can you do to get your site working again?

Read more

Using PHP with Rational Developer for IBM i

open phpIf you’re using Rational Developer for i (RDi) for most of your development tasks, you might want to use it for PHP, too. RDi is based on Eclipse, so we can use the Eclipse PHP Development Tools (PDT) with RDi.

However, there are some additional steps to take and quirks to be aware of. This post provides the steps for a trouble-free installation of PDT, with tips to resolve common issues.

Read more

How to Validate Self-Signed SSL / TLS Certificates from IBM i

(Co-authored by Gautier Dumas and Calvin Buckley)

When we use open source languages such as PHP, Python, and Node.js on IBM i to help companies build and access APIs and other resources, we expect these resources to be protected with encryption (for example, the https:// protocol). Further protection is provided by an SSL / TLS certificate that can be authorized, or signed, by a popular certificate authority such as Verisign,  Comodo, or Let’s Encrypt, or signed internally by the company itself.

Self-signed certificates are most useful in situations where public trust of a certificate is unnecessary, such as:

Read more

Storing Passwords Safely

Steal passwordIf your application deals with user accounts, it has to deal with passwords. Storing passwords in plain text would be a bad idea; a data breach could allow an attacker access to every account. The obvious answer is to encrypt the passwords. However, using cryptography without understanding could give you a false sense of security—if you make the inappropriate choice, you could make things easier for an attacker without realizing it. This article will focus on getting you up to speed with the best ways to use cryptography to secure passwords.

Read more