Mac で環境変数を設定する必要があるため、Apache が実行され、PHP/PDO が pdo_informix ドライバーをロードすると、Informix ホーム ディレクトリの場所が認識されます。そして、私は本当にすべてに疲れました!
/usr/sbin/envvarsに以下を追加しました: export INFORMIXDIR=/Applications/IBM/informix
/System/Library/LaunchDaemons/org.apache.httpd.plistに挿入しました:
<key>EnvironmentVariables</key>
<dict>
<key>INFORMIXDIR</key>
<string>/Applications/IBM/informix</string>
</dict>
私は試しました: launchctl setenv INFORMIXDIR /Applications/IBM/informix
すべて役に立たない。
Apacheグローバル設定にPassEnv行を追加しました。しかし、サービスを再起動すると、次のように表示されます。
root 589 ->apachectl restart
[Mon Aug 05 13:35:16 2013] [warn] PassEnv variable INFORMIXDIR was undefined
テスト .php ページを実行すると、ドライバーはロードされますが、DB ロケールを判別できないため、エラーが発生します。エラーメッセージ:
[Mon Aug 05 12:56:23 2013] [error] [client ::1] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE=HY000, SQLDriverConnect: -23101 [Informix][Informix ODBC Driver][Informix]Unspecified System Error = -23101.' ...
誰かが私が見逃したことを教えてもらえますか?