« ファイナルファンタジー | トップページ | Solarisのランレベル »

2010年2月26日 (金)

.htaccessにPHPの設定を記述

.htaccessにPHPの設定を記述する方法。

一般ユーザによるApacheの設定変更

Apacheの設定ファイルは /etc/httpd/conf/httpd.conf/etc/httpd/conf.d/ 以下のconfファイル。 これは、rootユーザのみが編集できるファイルのため、一般ユーザは、Apacheの設定変更はできない。

ただし、一般ユーザに .htaccess の利用が許可されていれば、許可された項目の設定変更が行える。

ちなみに、.htaccess による設定の上書きを許可するかどうかの設定は、 /etc/httpd/conf/httpd.confなどにて、「AllowOverride」ディレクティブで行う。 値は、以下。

AllowOverrideディレクティブの値
意味
ALL すべての項目を許可。(デフォルト)
None すべてを禁止。
AuthConfig 認証に関するディレクティブの使用を許可。
FileInfo ドキュメントタイプを制御するディレクティブ、ドキュメントのメタデータを制御するディレクティブ、mod_rewrite  のディレクティブ、mod_actions  の Action  ディレクティブの使用を許可。
Indexes ディレクトリインデックスを制御するためのディレクティブの使用を許可。
Limit ホストへのアクセス制御を行うためのディレクティブの使用を許可。
Options[=opt1,opt2,...] 特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可。

CentOS 5.2のApacheでは、/etc/httpd/conf/httpd.confにて、一般ユーザのWeb公開に関する設定がコメントアウトで、次のように記述されている。

#<Directory /home/*/public_html>
#    AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>

さらに、利用するファイル名が「.htaccess」かどうかは、「AccessFileName」ディレクティブで設定。 デフォルトは、当然「.htaccess」。

一般ユーザによるPHPの設定変更

さて、前置きが長くなったが、.htaccessにPHPの設定を記述する方法。 bool値(On/Off値)の場合と、それ以外の値とで利用するディレクティブが異なる。

PHP設定を記述するディレクティブ
ディレクティブ書式
php_flag php_flag PHP設定項目 値(OnかOffか)
php_value php_value PHP設定項目

このとき、ApacheのAllowOverrideディレクティブに必要な上書き許可は、PHPマニュアルによると、最低「Options」だそうだ。

また、.htaccess内にて 、変更可能なPHP設定項目は、php.ini ディレクティブのリストの「変更の可否」が「PHP_INI_PERDIR」か「PHP_INI_ALL」である項目に限られる。

たとえば、次の通り。

php_value include_path ".:/home/user01/includes"
php_flag display_errors Off

なお、PHPマニュアルに警告として、「Apache側でPHP定数は認識できない」みたいな記述がある。たとえば、.htaccess内でerror_reporting項目に「E_ALL」や「E_NOTICE」などの定数での設定はできない。このような場合は、代わりに定義済み定数の値(E_ALLなら「30719」、E_NOTICEなら「8」)を利用する。ただ、バージョンによって値が変わるようだ(特にE_ALLはコロコロ変わってるみたい)。

外部リンク:

« ファイナルファンタジー | トップページ | Solarisのランレベル »

パソコン・インターネット」カテゴリの記事

Linux」カテゴリの記事

2019年11月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Amazonリンク

ダイビング写真(swf)

ブログ内検索

  • Google
    WWW を検索
    ブログ内を検索

リンク(いつもお世話さま)

  • ソニーストア
     iTunes Store(Japan)
    Just MyShop(ジャストシステム)
    ブックオフオンライン
無料ブログはココログ