1

可能重复:
当我在 Eclipse 中调试 PHP 脚本时,它不加载 mysql 扩展

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

我正在使用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 Preferences for PHP 中,我使用我的专用 php.ini 为 php5 解释器创建了一个新配置。

在 Eclipse Run-Configuration Menu 中,设置 Config 对话框,我只是指向新的 php5-configuration。

但这并不能解决问题,所以我仍在寻找答案。是 Eclipse 问题还是 phpunit - 问题?我现在不知道。

4

1 回答 1

1

这是 Eclipse PDT 的预期行为。有关更多信息,请参阅类似问题和我的回答

于 2012-10-09T01:03:27.807 回答