[PHP-users 11854] コマンドライン版PHPでカレントのファイルを読み込ませたい

吉塚 陽子 php-users@php.gr.jp
Thu, 28 Nov 2002 09:18:24 +0900


いつも助けていただいています。吉塚と申します。
環境:Apache1.3.27
   PHP2.4.2-dev
   PostgreSQL7.2.3
   PHPLIB7.2c

PHPLIBのDBクラスを使ってDBからデータを抽出しています。
/usr/local/php/phplibディレクトリー以下にlocal.incファイルがあります。
---------------------------------------------
(/usr/local/php/phplib/local.incファイル内容抜粋)
class DB_Example extends DB_Sql {
  var $Host      = "xxx.cc.vvv.bbb";
  var $Database = "postdb";
  var $User      = "nobody";
  var $Password = "";
}
---------------------------------------------
php.iniファイルのinclude_pathは、以下のとおりです。
 include_path = /usr/local/php/phplib

モジュール版のPHPを使う時は、.htaccessファイルでinclude_pathを変更し、
上記local.incファイルをカレントにコピーして、内容変更して読み込ませます。
モジュール版では問題なく、「$Database=postdb、$User=postuser」となります。
---------------------------------------------
(.htaccessファイル記載内容抜粋)
<IfModule mod_php4.c>
        php_value  include_path  ".:/usr/local/php/phplib"
</IfModule>
---------------------------------------------
(カレントのlocal.incファイル内容抜粋)
class DB_Example extends DB_Sql {
  var $Host      = "xxx.cc.vvv.bbb";
  var $Database = "postdb";
  var $User      = "postuser";
  var $Password = "";
}
---------------------------------------------

コマンドライン版では、.htaccessファイルでの設定変更ができないので、
各スクリプトの先頭に,ini_set() 関数を使用して設定変更しています。
  ini_set( "include_path", ".:/usr/local/php/phplib" )
ところが、「$Database=postdb、$User=nobody」となり、
/usr/local/php/phplib/local.incファイルの内容が読みこまれてしまいます。
カレントのlocal.incファイルを読み込ませるには他に方法があるのでしょうか?

ini_get()でinclude_pathを調べると、「.:/usr/local/php/phplib」となっていて、
ini_set() での変更は有効になっているようです。