- ベストアンサー
php.iniのおき場所を変えたい
php.iniのおき場所についてです。 感覚的には.htaccessのような使い方ですが、 たとえば本家のphp.iniを/etcに置いたとします。 で、別のとあるディレクトリに、もうひとつphp.iniを置いて、 そのディレクトリだけは、そこにあるphp.iniを読んでほしいということです。 やりたいことは、あるディレクトリだけmb_internal_encodingを変えたいのです。ソースをいじらずに変更したいので、上記の設定をしたいのですが、そういったことは可能でしょうか。 サーバー周りの話をソフト側で聞いてしまって申し訳ないんですが、どなたかわかるかたお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1の者です。#1は仕切り直しにします。 .htaccessで設定するならば、 php_value mbstring.internal_encoding "SJIS" のように書けばよいのではないかと思います。 phpスクリプトで設定するならば、 ini_set('mbstring.internal_encoding', 'SJIS'); のように書けばよいと思います。ただ、こちらの場合、 そのphpファイルの外では設定が無効になるのかもしれません。
その他の回答 (3)
- asuncion
- ベストアンサー率33% (2127/6289)
ソースをいじらずに、という条件があるのでしたね。 ということは、設定ファイルをいじることになりますが、 php.iniはWebサーバの起動時に(たぶん一度だけ) 読み込まれるファイルであるという状況からいって、 「あくまでphp.iniで設定変更できるような環境にしたい」という ご希望はかなえられないように思います。 その、あるディレクトリというところに、.htaccessを置くのが 妥当な線ではないでしょうか。
- tany180sx
- ベストアンサー率63% (239/379)
あまり詳しくないですが・・ ./configure --libdir=DIR が対象になると思うので難しいのでは。 普通はhttpd.confなり.htaccessで <Directory /path/to/webroot/> php_value mbstring.internal_encoding "UTF-8" </Directory> としますが、問題がおありでしょうか? ただ、一番いいのはやはりini_set()かと。
お礼
ini_set()は確かに妥当なんですけど、今回はそれを使わない方向で^^; 感覚としてはやはり.htaccessでの制御になりそうです。 ご回答ありがとうございます。
- asuncion
- ベストアンサー率33% (2127/6289)
たぶん、ini_set('mb_internal_encoding', 'なんとか'); で、一時的に変更できると思います。
補足
早速の回答ありがとうございます。 スクリプトファイルに書き込みということではなく、あくまでphp.iniで設定変更できるような環境にしたいのです。
お礼
何度もご助力ありがとうございます。 とても参考になります。 なるほど、php_valueいいですね。 ちょっとやってみます。 やはり路線としては、php.iniではなく.htaccessですね。