set_include_pathの使い方
phpでget_include_path()という関数を使うと、include_pathの設定を取得できます。
こんな感じです。
そして、set_include_path()という関数を使うと任意のinclude_pathを設定できます。
例えば、/home/testにライブラリをインストールした場合、
のようにすることで、include_pathを追加することができます。
確認してみると
正しく追加されています。
PATH_SEPARATOR定数を用いる事で、OSに依存しないinclude_pathの設定が可能になります。
参考URL:OSの判別
※ 参考サイトにはこのように書かれていましたが、Windowsが「;」でLinuxが「:」の誤りだと思います。
- この話のキッカケ
Symfony1.0でZend Frameworkを呼び出す方法が分からず、悩んでいたときに先輩にset_include_pathの使い方を教えていただきました。
lib/vendor/Zend
にZend Frameworkが置いてあるとすると
Symfony1.0では
set_include_path(get_include_path() . PATH_SEPARATOR . sfConfig::get('sf_lib_dir') . '/vendor/');
をindex.phpに記述すればZend Frameworkが呼び出せると思います。
(今回はSymfonyのバッチファイル内での利用であったため、バッチファイルに記述しました。)
Symfony1.4ではconf/autoload.ymlに記述することで呼び出せます。
autoload: zend_framework: name: zend_framework path: %SF_LIB_DIR%/vendor/ recursive: on