1

重複の可能性:
Eclipse で PHP スクリプトをデバッグしているときに、mysql 拡張機能が読み込まれない

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の問題ですか? 現時点では手がかりがありません。

4

1 に答える 1

1

これは、Eclipse PDT の予想される動作です。詳細については、同様の質問と私の回答を参照してください。

于 2012-10-09T01:03:27.807 に答える