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

Detecting Memory Leaks in PHP Extensions During Development

memory leakWhen a PHP extension has a memory leak, mysterious crashes can result, forcing users to restart the web server for relief.

As official maintainers of the ibm_db2 and PDO_IBM extensions, we’ve been on a quest to find and eliminate any memory leaks from these popular PHP modules.

With such a comprehensive goal, we needed a strategy. For extensions that have comprehensive test suites we decided that, in addition to reviewing the usual regression tests, why not also use the tests to detect leaks?

What follows is a technical look at how we do it.

Read more

Sending Email from PHP on IBM i

With reliable email functionality being one of the top concerns of IBM i PHP users, we’ve made sure that CommunityPlus+ PHP includes everything you need to send email. The PHP mail() function works well, as do components such as Zend\Mail and PHPMailer.

Over the past couple of years, we’ve been hearing from disappointed PHP users that mail() didn’t work in other Community PHP distributions (and some builds of Zend Server). PHP mail() requires an external program that implements the sendmail interface. If your PHP distribution lacked sendmail or equivalent, you might have received a cryptic error message such as:

sh: -t:  not found

This article discusses your options for sending email using CommunityPlus+ PHP.

Read more

Welcome Back, MariaDB!

Getting Started with MariaDB on IBM i

MariaDBMySQL and MariaDB have long been databases used in the Linux world for popular web apps in PHP and other languages. The collective development components—Linux, Apache, MySQL and PHP—are often called the LAMP stack. When PHP was released on IBM i in 2006, the combination of IBM i, Apache, MySQL and PHP became known as the iAMP stack.

Read more

Porting Extensions to PHP 8

open phpPHP 8 has been the biggest change to PHP in years. While PHP 8’s JIT compiler gets most of the publicity, more significant to most developers would be PHP 8’s changes that encourage better coding practices. PHP 8 pushes developers to use clearer syntax and is stricter with problematic code.

While the PHP runtime itself has improved, what about extensions such as ibm_db2? What changes do extension developers need to make to adapt to PHP 8? As maintainers of the ibm_db2 and PDO_IBM database extensions, we’ve learned what it takes to make PHP extensions compatible with PHP 8.

Read more

Q&A: IBM i ODBC Driver

Stephanie Rabbini

I recently caught up with Seiden Group CTO Stephanie Rabbani about the ODBC driver that’s quickly becoming standard for open source and web connections on Db2 for i.

Read more

Free PHP on IBM i: from Basic edition to RPMs

open phpLast week, Perforce announced plans to withdraw Zend Server for IBM i “Basic” by June 2021. Filling the gap is license-free “community” PHP for IBM i, installable in RPM format.

Seiden Group has been assisting IBM i clients to adopt Community PHP since its introduction last year. We’ve helped with both first-time PHP installations and migrations from Basic.

Read more

Update on Free, Open PHP for IBM i

php ibm i trainingSince last month’s post about free and open PHP on IBM i, we have been helping companies to get started with it.

We’ve seen excellent results with the open PHP package, known as an RPM. Starting with the PHP repository provided by IBM and Zend (Perforce) as a base, we are able to optimize PHP for the needs of each IBM i shop.

Especially appealing to us and our clients: this PHP is 64-bit and leans toward open standards, including ODBC. In exchange for a bit of setup time, you’ll have a system that’s lightweight, flexible, and license-free.

Read more

Free and Open PHP on IBM i

open php ibm iA new flavor of PHP has arrived in IBM i-land. Some call it “free.” Some call it “community.” As described in a recent IT Jungle article, PHP is now available on IBM i as a lean RPM download that does not require Zend Server.

Our friends at IBM and Zend (now Perforce) have packaged a bare-bones PHP edition for customers who want PHP but don’t feel they need to purchase the extra tools of Zend Server.

I’ll share what our open source experts at Seiden Group have learned as we’ve installed and optimized both traditional Zend Server and “open” PHP for our customers.

Read more

Five Reasons We Use Git to Manage IBM i Source Code

GitIf recent customer requests for Git training are any indication, this popular, free, open source tool for managing source code is gaining momentum and will soon be mainstream on IBM i.

Read more