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

Sugimura Masayuki php-users@php.gr.jp
Thu, 28 Nov 2002 14:28:52 +0900 (JST)


> PHPLIBのDBクラスを使ってDBからデータを抽出しています。
      :
> コマンドライン版では、.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() での変更は有効になっているようです。

local.inc は prepend.php3 から呼ばれるのでいじるとしたら prepend.php3 
じゃないですか?

私は prepend.php3 の中の

require($_PHPLIB["libdir"] . "local.inc");

を、こちらの環境にあわせて変更した prepend.php3 に置き換えています。

require("/path/to/local.inc");

というように。吉塚さんの場合だと、

$_PHPLIB["libdir"] = "/usr/local/php/phplib/";
require("local.inc");

でもいいかもしれない。
この場合 php.ini の中で include_path の設定は特に必要ないと思います。
# 私もしてません。


二重定義になるのは、上に書いたように prepend.php3 の中でオリジナルの
local.inc をすでに読み込んでいるからです。
--
Sugimura Masayuki	sugimura@ksp.nis.nec.co.jp