index

2000年 10月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
2000年 11月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
2000年 12月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アレ

  ▽20001113b #日記

 ふむふむ... oracle のマルチランゲージ対応ってんで, 環境変数 NLS_LANG に japanese_japan.ja16euc とか設定しとかなきゃなのだが, PHP の場合 httpd から nobody 権限で動かされるので, この辺の設定をどこでやるべきなのやら,ちょっと戸惑う.

 いちばん確実で自己完結的な手段として, PHP スクリプトの内部から putenv( ) で環境変数を設定していたんだけど, なんか動いたり動かなかったり妙に不安定だったりする. いろいろやってたら,どうも apache を restart した後の最初の 1コールだけ動くみたい(笑)  なんなんだよう...

 Web とか色々と検索して調べてみたりすると, 他でも似たような事象があって, apache を起動するスクリプト内で設定してやると, それが apache - PHP - oracle と引き継がれて,うまく動作するらしい. って内容の質問回答が日本とアメリカとドイツで 1つずつ見つかったから, たぶんこれが有力な原因(つーか対処法)なのだろう.

 しかし,テスト環境(しかもメイン環境の HDD が壊れて急遽作ったテンポラリ環境) なので,apache のスクリプトも何も, 手で apachectrl start とかやってんですけど(笑)  けっきょく,ユーザ root で $ export NLS_LANG=... とか設定して start したら,PHP からの oracle 呼び出しがうまくいくようになった.

 はぁ...これってきっと, 知ってる人から見たら「たりめーだバカ」的な内容なんだろうねぇ. もっと経験積まねーと...

index