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

时间:2012-09-26 14:23:06

标签: php eclipse phpunit php-ini

  

可能重复:
  While I am debugging PHP Script in Eclipse, it doesn’t load mysql extension

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

我正在使用phpunit,但正确配置非常耗时。我刚刚遇到的一个问题是,当我将Eclipse中的phpunit作为“运行配置”时,我的php扩展的ini文件似乎没有正确加载。 我基本上遵循了本教程:http://pkp.sfu.ca/wiki/index.php/Configure_Eclipse_for_PHPUnit

从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

似乎可以解决这个问题,但它会适得其反,因为它会破坏模块化(并且会在下一次distri / 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 -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文件,其中包含附加的所有包含,在Eclipse的Eclipse首选项中,我使用我的专用php.ini为php5解释器创建了一个新配置。

在Eclipse Run-Configuration菜单中,设置Config对话框,我只需指向新的php5配置。

但这并没有解决问题,所以我仍在寻找答案。这是一个日食问题还是一个phpunit问题?我现在不知道。

1 个答案:

答案 0 :(得分:1)

这是Eclipse PDT的预期行为。有关详细信息,请参阅the similar question and my answer