HP-UXって、何でもかんでも独自な感じだから嫌い。でも仕事上使わざるを得ないのが辛いところ。
今回はHP-UXでPHPを動かして、さらにOracleとの接続までの設定を行ったので、手順をメモメモ。
とりあえずHP-UXは、HP-UX Itanium 11i 11.23 というもの。
まずは、/opt/hpws/apache/conf/httpd.conf を設定。PHPのモジュールがコメントアウトされているので外すだけ。環境によってはユーザーやグループの変更も必要。
#LoadModule php5_module modules/libphp5.so
↓
LoadModule php5_module modules/libphp5.so
次に、/opt/hpws/apache/conf/php.ini を設定。以下の項目を環境に合わせて編集する。コメントアウトされているものはコメントアウトを外す。今回はシフトJISを使ったので、SJISを指定している。
date.timezone = Asia/Tokyo
register_globals = On
magic_quotes_gpc = Off
default_charset = "SJIS"
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
extension=oci8.sl
続いて、/opt/hpws/apache/bin/apachectlを修正。ライブラリパスを追加し、さらにOracle固有の設定を追加した。
#export SHLIB_PATH=$ORACLE_HOME/lib:$APACHE_PREFIX/php/lib/php/extensions:$SHLIB_PATH
↓
export SHLIB_PATH=$ORACLE_HOME/lib:$APACHE_PREFIX/php/lib/php/extensions:$SHLIB_PATH
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=Japanese_Japan.JA16SJIS
export PATH=$ORACLE_HOME/bin:$PATH
この状態でapacheを再起動して接続してみると、OCILogon()がない!と怒られた。どうやらライブラリのバージョンが違うために、見つからないらしい。シンボリックリンクを張ることで対処可能。
# su - oracle
% cd /opt/app/oracle/10.2.0/db_1/lib
% ln -s libclntsh.so.10.1 libclntsh.so.9.0
もう一度apacheを再起動して、ブラウザからアクセスし、Oracleとの接続が確認できた。
Linuxとは一味違った設定方法だったので結構大変でしたが、そのぶんつながるようになったときの嬉しさは大きいかも?(笑)
余談。
apacheを自動起動にする場合は、/etc/rc.config.d/hpws_apacheconf というファイルの HPWS_APACHE_START の値を 1 にすればイイ。
コメント