Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Zend is providing the PDO_ODBC PHP driver for our customers who want to move to the new unixODBC driver.  PDO_ODBC is available in Zend Server version 2021.1 (coming soon), and in ZendPHP.  The ibm_db2 and pdo_ibm PHP extensions will continue to be available for customers not wanting to make the switch.  For those customers wanting to move to unixODBC, this article provides some tips that can help you get started. 

...

The unixODBC driver and driver manager are bundled with the ibm-iaccess .ppc64 package.  You can check in the "Installed packages" tab of Open Source Package Management to see if it is installed.  You can also check for it with this PASE command:

...

If you do not have the ibm-iaccess package, you can find the instructions to install the unixODBC driver and driver manager ibm-iaccess package here:

IBM i Access ODBC Installation

Tip: The rpm package for ibm-iaccess is not contained in a repository. So, after you unzip the download, go into the unzipped ppc64 directory and find the file with a name following this pattern: ibm-iaccess-V.R.M.F-S.ibmi7.2.ppc64.rpm .  'V.R.M.F' will be replaced by the actual version.  For example, as this is being written, the current version is '1.1.0.15-0', so the file name is: ibm-iaccess-1.1.0.15-0.ibmi7.2.ppc64.rpm.  Use FTP or Navigator to copy this file into your home directory in the IFS on your IBM i.  Assuming your home directory is set up to be in your path, you should then be able to install the file using a PASE command like this:

yum install ibm-iaccess-1.1.0.15-0.ibmi7.2.ppc64.rpm

(The example shows the current version as of this writing.  Your file may have a newer version.)

This installs the ibm-iaccess.ppc64 package, which includes the unixODBC driver and driver manager.


STEP 3: Install and enable the PDO_ODBC extension, if needed.

Note:  This step differs depending on whether you are using Zend Server or ZendPHP.  Please choose the instructions for the correct Zend product you are using.

Zend Server - enable

If you are using Zend Server, the PDO_ODBC extension will be installed automatically starting in version 2021.1. You can enable and disable the extension using the Zend Server User Interface, just as you can do for any extension.

Warning
titleEnabling PDO_ODBC will disable the odbc, pdo_ibm, and ibm_db2 extensions.

The unixODBC driver creates a linking failure in PHP if any extension using the old SQL-CLI (libdb400.a) driver is also loaded.  This is because there is a naming conflict between the drivers that will cause the linked SQLSetEnvAttrr to be called from the wrong driver, and PHP will fail to start. So, before you can enable the PDO_ODBC extension, you need to disable the odbc, pdo_ibm, and ibm_db2 extensions.  (You need to disable the odbc extension because it uses SQL-CLI instead of unixODBC.  This was done to maintain backward compatibility with older versions of Zend Server). 

This will happen automatically in Zend Server.  If you enable PDO_ODBC, the others will be disabled.  If you enable any of the others, PDO_ODBC will be disabled.  It is important to understand that you can not run scripts using incompatible DB2 drivers at the same time.  For example, if you migrate some of your ibm_db2 applications to PDO_ODBC, you must migrate all of your ibm_db2 applications to PDO_ODBC.


ZendPHP - install and enable/disable

If you are using ZendPHP, which is a different product than Zend Server, you will need to install the extension for the version of PHP you are using.  For example, if you are using version 7.3 of PHP, the extension can be installed with this PASE command:

...