# PHPの設定に関する補足説明(precheck.php-1.1.2 (2007-03-25))

## default_charset

特定の文字セットを指定すると文字化けする可能性があります。その場合は設定を変更してください。

php.iniで設定する場合 （コメントアウトします） | `; default_charset = EUC-JP`
.htaccessで設定する場合 | `php_value default_charset ''`
実行時に設定する場合 | `ini_set('default_charset', '');`

## mbstring.internal_encoding

インストールしたい文字セットと一致していない場合は文字化けする可能性があります。その場合は設定を変更してください。

php.iniで設定する場合 | ※注意：`mbstring.language`を定義している行よりも必ず後に置いてください。 （UTF-8にする場合） `mbstring.internal_encoding = UTF-8` （EUC-JPにする場合） `mbstring.internal_encoding = EUC-JP`
.htaccessで設定する場合 | （UTF-8にする場合） `php_value mbstring.internal_encoding UTF-8` （EUC-JPにする場合） `php_value mbstring.internal_encoding = EUC-JP`
実行時に設定する場合 | システムのconfig.phpの先頭で （UTF-8にする場合） `ini_set('mbstring.internal_encoding', 'UTF-8');` （EUC-JPにする場合） `ini_set('mbstring.internal_encoding', 'EUC-JP');`

## mbstring.http_input

`PASS` 以外の設定では文字化けする可能性があります。その場合は設定を変更してください。

php.iniで設定する場合 | `mbstring.http_input = PASS`
.htaccessで設定する場合 | `php_value mbstring.http_input PASS`
実行時に設定する場合 | システムのconfig.phpの先頭で `ini_set('mbstring.http_input', 'PASS');`

## mbstring.detect_order

`AUTO` にすると文字化けする可能性があります。その場合は設定を変更してください。

php.iniで設定する場合 | `mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII`
.htaccessで設定する場合 | `php_value mbstring.detect_order UTF-8,EUC-JP,SJIS,JIS,ASCII`
実行時に設定する場合 | システムのconfig.phpの先頭で `ini_set('mbstring.detect_order', 'UTF-8,EUC-JP,SJIS,JIS,ASCII');`

（注意）上記の UTF-8,EUC-JP,SJIS,JIS,ASCII は一例です。文字化けが直らない場合は，順番を適宜，変えてみてください。JIS, ASCIIは最後の方に並べてください。

## magic_quotes_gpc

オンになっていると文字化けする可能性があります。その場合は設定を変更してください。実行時には（つまり，ini_set()では）変更できません。

php.iniで設定する場合 | `magic_quotes_gpc = Off`
.htaccessで設定する場合 | `php_flag magic_quotes_gpc Off`

## magic_quotes_runtime

オンになっていると文字化けする可能性があります。その場合は設定を変更してください。

php.iniで設定する場合 | `magic_quotes_runtime = Off`
.htaccessで設定する場合 | `php_flag magic_quotes_runtime Off`
実行時に設定する場合 | システムのconfig.phpの先頭で `set_magic_quotes_runtime(0);`

## magic_quotes_sybase

オンになっていると文字化けする可能性があります。その場合は設定を変更してください。

php.iniで設定する場合 | `magic_quotes_sybase = Off`
.htaccessで設定する場合 | `php_flag magic_quotes_sybase Off`
実行時に設定する場合 | システムのconfig.phpの先頭で `ini_set('magic_quotes_sybase', 0);`

## register_globals

オンになっているとセキュリティ上の問題が発生する可能性がありますので，オフにすることをお勧めします。バージョン1.4.0以降，Geeklog本体はregister_globals = offで動作するようになっています。

php.iniで設定する場合 | `register_globals = Off`
.htaccessで設定する場合 | `php_flag register_globals Off`
実行時に設定する場合(PHP-4.2.3以前に限る） | システムのconfig.phpの先頭で `ini_set('register_globals', 0);`

## short_open_tag

オンになっているとXHTML(XML宣言)の出力で問題が発生しますので，オフにしてください。

php.iniで設定する場合 | `short_open_tag = Off`
.htaccessで設定する場合 | `php_flag short_open_tag Off`
実行時に設定する場合 | システムのconfig.phpの先頭で `ini_set('short_open_tag', 0);`

## 掲示板プラグインをインストールする際の注意点

掲示板プラグインのバージョンが 2.5RC1 の場合，$_CONF['have_pear'] が true になっていると不具合が生じます（他のバージョンでは未確認）。下記のようにファイルを書き換えてください。この情報は mistgrassさん，kinoさんから提供していただきました。

該当ファイル：

- public_html/admin/forum/boards.php の42行目付近
- public_html/forum/include/gf_showtopic.php の101行目付近
- public_html/forum/createtopic.php の46行目付近

変更内容：上記の3ファイルのすべてにおいて，次のように変更：

- `require_once("{$_CONF['path_pear']}PEAR.php");`
  →`require_once("PEAR.php");`
- `require_once("{$_CONF['path_pear']}HTML/BBCodeParser.php");`
  →`require_once("HTML/BBCodeParser.php");`