| title | Reference |
|---|---|
| nav_order | 14 |
Links, repos, and acknowledgments worth coming back to.
- IBM i OSS Docs — the canonical reference for
yum, RPMs, the bootstrap, third-party repos, and IBM-shipped Python / Node / PHP details. - Getting Started with Open Source Package Management — the IBM ACS-side instructions.
- IBM i Open Source Software Support — IBM's TSS support offering for OSS on IBM i.
- Power Toolbox / 5733-OPS Lifecycle — the RPM-vs-5733-OPS transition and what's where.
| Repo | URL | What's in it |
|---|---|---|
ibm |
http://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo |
Core IBM-shipped OSS |
zend |
http://repos.zend.com/ibmiphp/ |
Zend (Perforce) PHP RPMs |
seiden_stable |
(per Seiden Group registration at seidengroup.com) | Seiden PHP+ |
| Third-party | 3rd Party Open Source Repos for IBM i | Community-maintained extras |
The IBM repo is configured automatically by the bootstrap. The others you add via yum-config-manager --add-repo or by dropping a .repo file in /QOpenSys/etc/yum/repos.d/.
- Seiden Group — PHP+, IBM i open-source services, support.
- IBM i OSS Slack — the active community chat. Free to join.
- Code for IBM i — the VS Code extension. The right home for daily IBM i development in 2026.
- COMMON — the IBM i / Power user group. PowerUp and NEUGC conferences.
- PHP / PDO / ODBC Toolkit Setup — the deep dive on running PHP on IBM i, connecting PHP to DB2 via ODBC, and calling RPG from PHP.
- RPG Tutorial — practical RPG programming through VS Code.
- IBM i AI Workers — calling LLMs at scale from RPG.
Either yum was never installed (see Bootstrapping OSPM), or /QOpenSys/pkgs/bin isn't in your $PATH. Use the full path:
/QOpenSys/pkgs/bin/yum --versionIf that works, fix $PATH:
echo 'export PATH=/QOpenSys/pkgs/bin:$PATH' >> ~/.profileNetwork problem reaching the repo URL. From PASE:
curl -I http://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo/repodata/repomd.xmlIf that fails, your partition can't reach the public IBM file server — check firewall, proxy, DNS. If it succeeds and yum still fails, run yum clean metadata; yum repolist.
CCSID. See CCSID sanity. Run the diagnostic checklist there.
Two extension=ibm_db2.so lines, usually one in php.ini and one in conf.d/. Remove the one in php.ini; let conf.d/ own it.
Confirm gcc, make, and the relevant -devel packages are installed:
yum install -y gcc gcc-c++ make autoconf automake libtoolThe package is trying to fetch a PowerPC binary that doesn't exist. Either find a pure-JS alternative (often there is one), pin to an older version that builds from source cleanly, or remove the package as a dependency.
Permissions on ~/.ssh and ~/.ssh/authorized_keys are wrong. From PASE:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
ls -la ~/.sshThe directory must be drwx------, the file -rw-------, and both owned by the SSH user.
The web-server instance was started as QSECOFR and never reconfigured. Set the dedicated user (K3SWEB) in the Apache httpd.conf (User K3SWEB), in NGINX nginx.conf (user k3sweb;), or php-fpm pool config. Restart the daemon and verify in WRKACTJOB. See Service users and authority.
Rare, but it happens — a Group PTF can replace a file that yum thought it owned. Symptom: yum verify shows the file as modified or missing. Resolution: yum reinstall <package> after the PTF settles, or pin the package version if you've intentionally chosen a specific build.
This guide stands on the work of many in the IBM i community:
- Jesse Gorzinski and the IBM Rochester open-source team, who have made all of this possible by carrying open-source delivery to IBM i for the last decade.
- Alan Seiden and the Seiden Group team, whose blog posts, talks, and direct support have answered more PHP-on-IBM-i questions over the years than anyone else.
- Liam Allan and the Code for IBM i team, who turned VS Code into a first-class IBM i development environment.
- The IBM i OSS Slack community, where so many of the hard problems get solved between people who've already solved them.
- The K3S customers and engineers who've reported, debugged, and fixed the issues that this guide quietly captures.
Errors in this guide are my own. Corrections, suggestions, and pull requests are welcome via the Edit this page on GitHub link at the bottom of any chapter.
Maintained by King III Solutions, Inc.