phpunit に /etc/php5/cli/conf.d ディレクトリで ini ファイルをスキャンさせるにはどうすればよいですか?
phpunit を使用していますが、正しく構成するには非常に時間がかかります。私が遭遇した問題の 1 つは、Eclipse 内から「実行構成」として phpunit を起動すると、php 拡張機能の ini ファイルが正しくロードされないように見えることです。私は基本的にこのチュートリアルに従いました: http://pkp.sfu.ca/wiki/index.php/Configure_Eclipse_for_PHPUnit
Eclipse 内から実行する場合 (Menu Run.../Run Configurations...)、ディレクトリ
/etc/php5/cli/conf.d
にリンクされている
/etc/php5/conf.d/
解析されません。したがって、たとえば、ファイル
/etc/php5/conf.d/curl.ini
は無視されます。ワンライナーをiniファイルに追加する必要があります
echo "extension=curl.so" >> /etc/php5/cli/php.ini
これは問題を解決しているように見えますが、モジュール化を壊すため、非生産的です (そして、次の distri / php アップグレード後にはなくなります)
この問題を見つけるために、ファイルの先頭に phpinfo() への呼び出しを追加して、phpunit.php を変更しました。
これが出力です。
PHP Version => 5.3.10-1ubuntu3.4
System => Linux wb3 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:16:45 UTC 2012 x86_64
Build Date => Sep 12 2012 18:58:31
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /tmp/zend_debug/session6700026373526677062.tmp/php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
/tmp/zend_debug/session6700026373526677062.tmp/php.ini を調べると:
grep -C 2 拡張を使用する
出力がありません。
extension=curl.so を /etc/php5/cli/php.ini に追加した後、phpunit Eclipse-Run-configuration を実行すると curl 拡張機能がロードされます
しかし、コマンド ラインから phpunit を実行すると結果が異なります。今私は得る
phpunit --debug --verbose MyClass
PHP Warning: Module 'curl' already loaded in Unknown on line 0
更新:(まだ回答がありません)
私の問題の回避策を見つけました:
追加されたすべてのインクルードを含むカスタム php.ini ファイルをファイルシステムに作成し、PHP の Eclipse 設定内で、専用の php.ini を使用して、php5 インタープリターの新しい構成を作成します。
Eclipse の実行構成メニュー内で、構成ダイアログ ボックスを設定して、新しい php5 構成を指定するだけです。
しかし、これは問題を解決しないので、私はまだ答えを探しています. それはEclipseの問題ですか、それともphpunitの問題ですか? 現時点では手がかりがありません。