インクルードパスは、インクルード時のパスの記述が簡略化できるというメリットが
ありますが、その反面、どのファイルが実際にインクルードされるのかが分かりづらくなる
というデメリットがあります。
また、include_pathを複数指定した場合、パスの記述の順序によって、
目的のファイルとは別のファイルをインクルードしてしまう、といったことも起こりえます。
そのため、特に理由がなければ、ファイルのインクルードはなるべく絶対パスで行うべきだと思います。
ある程度大規模なプログラムの場合でも、基準となるパスを定数やグローバル変数で定義しておけば、
環境が変わったとしても書き換えるのは数箇所だけで済みます。
PEARライブラリを使用する場合は、インクルードパスの指定がほぼ必須となります。
これは、PEARライブラリ内のファイル間でインクルードを行う際、PEARディレクトリからの
相対パスが指定されているためです。
インクルードを一切行わず、単一のファイルで動作するスクリプトの場合は、インクルードパスの指定は不要です。
[php]
set_include_path(‘/path/PEAR’. PATH_SEPARATOR. get_include_path());
[/php]
PEARのインクルードパスを指定する場合は、上のように現在のインクルードパスに追記する形で指定することが多いです。
ですが、現在のインクルードパスに既にPEARライブラリのディレクトリが含まれていた場合、
複数のPEARディレクトリ同士が競合し、正しく動作しないことがあります。
そのような場合は、get_include_path関数の結果から”pear”という文字列を含むパスを取り除くような前処理が必要となります。