Web サーバー上のドキュメントディレクトリに スクリプトや実行ファイルのようなアクティブな内容を読み込むのは、 往々にして危険な行為であるとみなされることがあります。 何らかの設定ミスによりスクリプトが実行されず、通常の HTML ドキュメント として表示されてしまう場合には、知的著作物またはパスワードのような セキュリティ情報が漏洩する可能性があります。 このため、多くのシステム管理者は、スクリプトを PHP CGI を通じてのみ アクセス可能な他のディレクトリ構造にセットアップしたいと思うこと でしょう。 この場合、常にインタープリタに処理されるため、上記のように表示されること はありません。
前節で記したようなリクエストがリダイレクトされたものでないことを 確かめる方法が利用可能でない場合、 スクリプト用の doc_root を Web ドキュメント用ルートとは別に セットアップする必要があります。
     設定用命令 doc_root により
     設定ファイル ファイル中で
     PHP スクリプト用ドキュメントルートを設定することができます。
     または、環境変数 PHP_DOCUMENT_ROOT でも設定する
     ことができます。
     これを設定した場合、CGI 版の PHP は、
     常に開くファイルの名前をこの doc_root
     リクエストのパス情報を用いて作成し、
     (以下の user_dir を除き、)確実に
     このディレクトリの外側でスクリプトが実行されないようにします。
    
     ここで利用可能な別のオプションは、user_dir です。user_dir が設定されていない場合、
     開かれるファイル名を制御するのは、doc_root
     のみです。
     http://my.host/~user/doc.php のような
     URL は、ユーザーホームディレクトリ以下のファイルを開かず、
     user_dir 以下の ~user/doc.php 
     というファイルを開くことになります。
     (ディレクトリ名がチルダ [~] で始まっている
     ということになります)
    
     user_dir が例えば、public_phpに
     設定されていた場合、
     http://my.host/~user/doc.php の
     ようなリクエストは、そのユーザー user のホームディレクトリにある
     public_php 以下の
     doc.php という名前のファイルをオープンしま
     す。ユーザーのホームディレクトリが、
     /home/user である場合、
     実行されるファイルは、
     /home/user/public_php/doc.php
     となります。
    
     user_dir の展開は、
     doc_root の設定によらず行われます。
     このため、ドキュメントルートおよびユーザーディレクトリへの
     アクセスを別々に制御することができます。
    
