从eclipse中启动时,phpunit会在启动时忽略/etc/php5/cli/conf.d目录

从eclipse中启动时,phpunit会在启动时忽略/etc/php5/cli/conf.d目录,php,eclipse,phpunit,php-ini,Php,Eclipse,Phpunit,Php Ini,可能重复: 如何使phpunit扫描/etc/php5/cli/conf.d目录中的ini文件? 我正在使用phpunit,但正确配置非常耗时。我刚刚遇到的一个问题是,当我从Eclipse中以“运行配置”方式启动phpunit时,我的php扩展的ini文件似乎没有正确加载。 我基本上遵循了本教程: 从eclipse中运行时(菜单运行…/运行配置…),然后 目录 /etc/php5/cli/conf.d 链接到 /etc/php5/conf.d/ 未解析。 因此,例如,文件 /etc/ph

可能重复:

如何使phpunit扫描/etc/php5/cli/conf.d目录中的ini文件?

我正在使用phpunit,但正确配置非常耗时。我刚刚遇到的一个问题是,当我从Eclipse中以“运行配置”方式启动phpunit时,我的php扩展的ini文件似乎没有正确加载。 我基本上遵循了本教程:

从eclipse中运行时(菜单运行…/运行配置…),然后 目录

/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
这似乎解决了问题,但却适得其反,因为它破坏了模块化(并将在下一个发行版/php升级后消失)

为了发现这个问题,我修改了phpunit.php 通过在文件开头添加对phpinfo()的调用

这是输出

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-c2扩展

我没有输出

将extension=curl.so添加到/etc/php5/cli/php.ini之后 curl扩展是在运行phpuniteclipse运行配置时加载的

但是当我从命令行运行phpunit时,结果是不同的。 现在我明白了

phpunit --debug --verbose  MyClass 
PHP Warning:  Module 'curl' already loaded in Unknown on line 0
更新:(还没有答案)

我找到了解决问题的方法:

我在文件系统中创建了一个自定义php.ini文件,其中包含所有附加的includes,并且在Eclipse的php首选项中,我使用我的专用php.ini为php5解释器创建了一个新配置

在Eclipse运行配置菜单中,设置配置对话框,我只需指向新的php5配置


但这并不能解决问题,所以我仍在寻找答案。这是eclipse问题还是phpunit问题?目前我没有任何线索。

这是EclipsePDT的预期行为。有关更多信息,请参阅。

这是Eclipse PDT的预期行为。有关更多信息,请参阅。

谢谢。看来我的变通办法是解决这个问题的唯一办法。在eclipse bug报告(由您发现)中,其他一些人提到了这个技巧。谢谢。看来我的变通办法是解决这个问题的唯一办法。在eclipse bug报告(由您发现)中,其他一些人提到了这个技巧。