[PHP-users 11856] Re: コマンドライン版PHP でカレントのファイルを読み込ませたい
Mashiki
php-users@php.gr.jp
Thu, 28 Nov 2002 10:12:05 +0900
Mashikiです。
>コマンドライン版では、.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() での変更は有効になっているようです。
どのようにスクリプトを実行しているでしょうか?
$ cd target_path
$ ./xxx.php
のような感じなら問題ないような気がしますが(試してない)、
$ /dir1/dir2/xxx.php
実行しているように思えます。
スクリプトの可搬性を損なわないため、重松さんの案に加え、
以下もためしてみては
案1
ini_set( "include_path", dirname($argv[0]).":/usr/local/php/phplib" )
のようにしてみる
案2
$ php -d 'include_path=/dir1/dir2:/usr/local/php/phplib' \
/dir1/dir2/xxx.php
のように実行する