3

PHP のホワイトリストを設定するときに、次の問題が発生します。

phpunit xml に次のフィルターを設定しました。

<filter>
    <whitelist>
        <directory suffix=".php">../..</directory>
        <exclude>
            <directory>../../cache</directory>
            <directory>../../public_html</directory>
            <directory>../../temp</directory>
            <directory>../../tools</directory>
        </exclude>
    </whitelist>
</filter>

そのホワイトリストがなければ、すべて正常に動作しますが、それを入れると、すべてのファイルを含めようとするため、システムがクラッシュします。これにより、require_once を持つファイルがインクルードされるため、アプリケーションがクラッシュします。

EDIT起動時に、システムはいくつかの定数を定義します。ホワイトリストを作成するためのすべてのデータが含まれている場合、これらの定数は定義されていないため、存在しないフォルダーにアクセスしようとします (PHP は定数が文字列であると想定します)。クラッシュします。

また、それが役立つ場合は、ホワイトリストを使用してSeleniumで使用しています。多分それが問題の原因ですか?

4

1 に答える 1

4

コードカバレッジ情報を収集するには、システムがすべてのファイル要求する必要があるため、これは予想される動作です。(技術的にはそうする必要はありません、あります)

phpunit もファイルを要求するためにa を使用するため、使用している場合require_onceは問題ありません。"_once"

require_once ステートメントでいっぱいのコードベースでホワイトリストを使用していますが、私が遭遇した唯一の問題は、2 つの場所で定義されたクラスを持つことです。

于 2011-06-21T14:12:35.140 に答える