-1

私は最近 set_include_path() を発見し、返されるパスがインクルード ディレクトリへのパスであることを発見しました。

PHP は自動的に includes ディレクトリを探し、include_path をこれに更新しますか?

また、set_include_path で設定したいくつかのパスは、クラス自体の外部で設定すると、クラス メソッド内で使用できないことにも気付きました。

どうしてこれなの?

$include_root = $_SERVER['DOCUMENT_ROOT'] . '/path/to/includes/';
$include_paths = get_include_path() . PATH_SEPARATOR .
                 $include_root . PATH_SEPARATOR .
                 $include_root . 'classes/' . PATH_SEPARATOR;

set_include_path( $include_paths );

事前にすべてのアドバイスをありがとう!

4

1 に答える 1

3

これ (インクルード ディレクトリの「自動化された」ルックアップ) は、php.ini ファイルで設定されます。以下を含む test.php というテストページを作成します。

<?php phpinfo(); ?>

ブラウザで test.php を指定し、次の変数を探します。

include_path    .:/usr/share/php:/usr/share/pear

また、使用されている php.ini ファイルを見つけることもできます。

Loaded Configuration File   /etc/php5/apache2/php.ini

クラスメソッドの質問に対する答えがありません。

ブラウザではなくコマンド ラインから実行している場合は、次のコマンドを使用して ini ファイルを確認できます。

php -r "phpinfo();" | less
于 2011-09-20T04:19:42.680 に答える