PHPではrequireとrequire_onceを使ってファイルを読み込むことができます。
requireは何度も読み込みますが、require_onceは一度しか読み込まないので、require_onceを勧めます。
以下、ソース例です。
<?php
require "../common.php";
require "/usr/local/apache2/htdocs/common.php";
// 何らかの処理
?>
上記のように絶対パスと相対パスで読み込むことができます。このとき、php.iniの設定で、以下のようになっていると相対パスでエラーが発生します。
php.iniの設定
;allow_url_include = On
警告内容
Warning: main(../common.php): failed to open stream: No such file or directory
回避方法としては、php.iniのallow_url_include = Onのコメントをはずすか、それができない場合は、
dirname(__FILE__)を使用します。
これを使用すると、phpファイルの絶対パスが取得できます(最後に/はつきません。)。以下、例です。
<?php
require dirname(__FILE__) . "/../common.php";
require "/usr/local/apache2/htdocs/common.php";
// 何らかの処理
?>
require_onceするときは、絶対パスではなく、相対パスで記述すべきです。
開発環境と本番環境でディレクトリ構成が異なる場合、相対パスなら問題ありません。