[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() での変更は有効になっているようです。