[PHP-users 34020] Re: escapeshellargの挙動について

kondo nobuaki3.kondo @ toshiba.co.jp
2008年 8月 22日 (金) 19:41:45 JST


近藤です。

お世話になります。
([PHP-users 34010]は、後で受信できました。)

> もしかしたら、RedHatEL5のPHPは上の変更が入っているのかもしれません。
> であれば、環境変数「LC_*」系の設定が適切に設定されている必要があります。
>
> ・コマンドライン環境
> ・Web実行環境
>
> それぞれの環境で「locale」コマンドを実行してみて、差がある場合は
> 環境変数の同期を取ってみてください。

確認してみたところ、
sshでログインしたときのlocaleは、
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
でした。
一時的にapacheユーザのログインシェルをnologinからbashにして
みましたが、localeの結果は同じようでした。

一方Webからだと(`locale`の実行結果を表示)は、
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
でした。

apacheユーザのホームディレクトリに.profileを作って
環境変数を定義するのかと思いましたが、違うようでした。

すみませんが、「環境変数の同期」ってどうすればいいのでしょうか?
localeに似たようなコマンドlocaledefがあったのですが、
これを使うのでしょうか?



PHP-users メーリングリストの案内