[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
のように実行する