Windows10にDB2 Connect PEを入れた時の備忘録です。
Windows7からの10への移行で改めて、DB2 Connect PEをインストールしたら、グローバル・レジストリの値がDB2_EXTSECURITYYESになっていました。
因みに構成アシスタントは管理者で実行して設定しています。
インストール・オプションの指定が違うせいか、Win7ではレジストリ設定そのものが有りませんでした。
これが原因で、Apacheサービス起動(systemユーザー)のZendServerだと正常なPHPのibm_db2関数が、CLI実行(ユーザー権限の場合NGで管理者権限ならOK)だと軒並みエラーになりました。

SQL1031N 指定されたファイル・システムには、データベース・ディレクトリーが見つかりません

その他の変数 - DB2_EXTSECURITY

DB2_EXTSECURITY
- オペレーティング・システム: Windows
- デフォルト: YES。値: YES または NO
- DB2 オブジェクト (システム・ファイル、ディレクトリー、および IPC オブジェクト) のロッキングにより、DB2 への無許可アクセスを防ぎます。 問題を未然に防ぐため、 このレジストリー変数はオフにしないでください。 DB2_EXTSECURITY を設定しないと、この値は DB2 データベース・サーバー製品では YES、クライアントでは NO にそれぞれ解釈されます。

以下に幾つか解決方法がありますが、最も簡単なのは該当ユーザーにDB2ADMNSを追加する事です。
グループ設定後は再起動で問題が解決されます。