PHPの構築
| Squirrelmailを導入するにあたって、PHPが必要になりますがRedHat9.0以前のPHPパッケージが、Squirrelmailを動かすphpのマルチバイト対応のものが必要になる。日本語環境で使用するには、PHP 4.1.2以上でmbstringが有効になっているものが必要になります。 RedHat用の日本語版のRPMパッケージがあるスコット ヒューズさんのページからダウンロードできます。(RedHat9.0は、php-4.2.2-19_rh9.i386)、Fedora Core1以上はCDからインストールされているもので動作します。 補足 PHPで日本語を使用するには、FedoraCore3、4、5、6 Fedora7、8の場合にPHPを標準でインストールした状態ですとマルチバイトが使用が有効になっておりません。新たに php-mbstringパッケージを追加してインストールする必要があります。これをインストールしないとエラーとなって真っ白な画面になってなにも表示できません。例えば、FedoraCore6の場合にはGUI画面の「Gnome」 を使用できるのでしたら「パッケージソフトの追加と削除」からphp-mbstring-5.1.6-3.7.fc6.i386.rpmのパッケージをインストールします。またはCDの5枚目の中 php-mbstring-5.1.6-3.7.fc6.i386.rpm のパッケージからもインストールできます。(PHP5.x.xのバージョンの場合には使用時に白画面のエラーなどがでるようなので後で修正する必要があります。) RedHat9の場合 PHPのインストール状況を確認します。 |
||||||||||||||||||||||||||||||||||||||||||||
| #] rpm -qa | grep php php-4.2.2-17.2 php-imap-4.2.2-17.2 php-ldap-4.2.2-17.2 php-xxxxxx-4.2.2-17.2 (mysqlなど) |
||||||||||||||||||||||||||||||||||||||||||||
現在インストールされているPHPを削除します。 |
||||||||||||||||||||||||||||||||||||||||||||
| #] rpm -e php-ldap-4.2.2-17.2 #] rpm -e php-imap-4.2.2-17.2 #] rpm -e php-xxxxx.4.2.2-17.2 #] rpm -e php-xxxxx.4.2.2-17.2 #] rpm -e php-4.2.2-17.2 ←php本体は最後に削除します。 |
||||||||||||||||||||||||||||||||||||||||||||
ダウンロードしたものをインストールします。 |
||||||||||||||||||||||||||||||||||||||||||||
| #] rpm -ivh php-4.2.2-19_rh9.i386.rpm #] rpm -ivh php-imap-4.2.2-19_rh9.i386.rpm #] rpm -ivh php-ldap-4.2.2-19_rh9.i386.rpm #] rpm -ivh php-xxxx-4.2.2-19_rh9.i386.rpm |
||||||||||||||||||||||||||||||||||||||||||||
インストール後は、必要に応じてphp.iniのファイルを開き設定します。 自分の環境に合わせて mbstring を必要に応じて#を外したりオプッションを追加したりして設定します。 どうしても真っ白画面しか表示できない場合に 「display_errors = Off → ON」にすることでエラー内容が表示できるのでエラー内容から解決できます。私の経験上から意外とパーミッションなどの権限で引っかかる場合が多いようです。 vi /etc/php.ini
EUC-JP ユーザ用の php.ini の設定例
;; 出力バッファリングを無効にする
output_buffering = Off ;; HTTP charsetヘッダを設定 default_charset = EUC-JP ;; デフォルトの言語を日本語にする mbstring.language = Japanese ;; HTTP 入力変換を有効にする mbstring.encoding_translation = On ;; HTTP 入力エンコーディング変換を auto に設定 mbstring.http_input = auto ;; HTTP 出力を EUC-JP に設定 mbstring.http_output = EUC-JP ;; 内部エンコーディングを EUC-JP に設定 mbstring.internal_encoding = EUC-JP ;; 無効な文字を出力しない mbstring.substitute_character = none SJIS ユーザ用の php.iniの 設定
;; 出力のバッファリングを有効に
output_buffering = On ;; 出力の変換を有効にするために mb_output_handler を設定 output_handler = mb_output_handler ;; HTTPヘッダ charset を設定 default_charset = Shift_JIS ;; デフォルトの言語を日本語に設定 mbstring.language = Japanese ;; HTTP 入力変換を有効にする mbstring.encoding_translation = On ;; HTTP 入力エンコーディング変換を auto に設定 mbstring.http_input = auto ;; SJIS に変換 mbstring.http_output = SJIS ;; 内部エンコーディングを EUC-JP に設定 mbstring.internal_encoding = EUC-JP ;; 無効な文字を出力しない mbstring.substitute_character = none |