PHPのデフォルト文字コードなどの各種設定は、php.iniというファイルで定義されています。レンタルサーバを契約してPHPを使用したサイトを作成する際には、まずプロバイダによる現在のphp.iniの設定をチェックしてみましょう。PHPの関数phpinfo()を使うと実行ディレクトリに適用されている設定を一覧にして表示してくれますので、ドキュメントルートに以下のように記述したファイルを保存しブラウザでアクセスします。
<?php phpinfo(); ?> |
phpinfo()というタイトルのページが表示されれば成功です。PHPロゴの隣に現在のヴァージョン、その下の表では現在の設定内容がわかります。
表の項目Configuration_File (php.ini)Pathにはphp.iniファイルが置かれているディレクトリが、Loaded_Configuration_Fileには実際に読み込まれたファイルが示されています。レンタルサーバの場合Configuration_File (php.ini)Pathの項目で設定されたパスにユーザがアクセスを許されず、設定を変更しようとしてもそこにあるファイルに直接手を加えることができないことが多いですので、新たに設定済みのphp.iniファイルをPHPプログラムと同じディレクトリに作成します。
php.iniファイルの書式は以下のようになります。
設定項目 = 値
文の終わりは改行で示し、特別な文字はつけません。また、コメントアウトは;(セミコロン)を行頭につけて行います。例えばデフォルトの文字コードをUTF-8にしたいときは、以下のように記述します。
default_charset = "UTF-8"
その他にどのような設定項目があるのかの解説はここでは省きますが、PHPのパッケージに付属したphp.iniには、コメント行を活用した各設定項目の説明が英語で書かれていますので、既存のphp.iniをコピーして、説明を見ながら必要な設定項目だけ変更して保存するという方法が便利です。先程phpinfo()で調べたヴァージョンのphpを、http://www.php.net/からダウンロードし、展開したファイルの中からphp.ini-○○といったような先頭にphp.iniがついているファイルを見つけてください。後ろについている単語は用途にあわせた設定を表していますが、php.ini-recommendedがあればそれを、無ければphp.ini-productionをphp.iniにリネームして使用します。
これでphp.iniの入ったディレクトリに設定が適用された筈です。そのディレクトリ内のファイルでphpinfo()をやってみて、Loaded_Configuration_Fileが同ディレクトリ内のものに変更されていることを確認してください。
ユーザが配置したphp.iniの有効範囲はそのディレクトリ内のみですが、Apacheの設定ファイル.htaccessを使って有効範囲を広げることも可能です。次回はその方法の解説をします。
ピンバック: .htaccessを使ってphp.iniの有効範囲を拡張する | AkisiのWEB制作日記
ピンバック: サイトC:000webhostで頻発するwordpressアップデートエラーを回避する | AkisiのWEB制作日記