我最近在Mac(10.8.3)(运行PHP 5.4.7)上安装了PHPUnit。当我尝试运行例如测试phpunit testfile.php
,我得到:PHPUnit从不使用正确的include_path
Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or
directory in /Users/myusername/pear/share/pear/PHPUnit/Autoload.php on line 64
Fatal error: require_once(): Failed opening required 'File/Iterator/Autoload.php'
(include_path='.:') in /Users/myusername/pear/share/pear/PHPUnit/Autoload.php on line 64
文件,/Users/myusername/pear/share/pear/File/Iterator/Autoload.php
存在。
php.ini
正确地列出了包括路径梨目录:
.:/php/includes:/usr/local/apache/lib/php:/Users/myusername/pear/share/pear/
然而,当我var_dump(get_include_path());
的PHPUnit/Autoload.php
文件里,它打印.:
,如果它是空的。
倾销价值php_ini_loaded_file
而不是,只需返回false
。
使用php -i |grep php\.ini
和php --ini
仅示出一个的php.ini被使用/加载:
Configuration File (php.ini) Path => /usr/local/apache/lib
Loaded Configuration File => /usr/local/apache/lib/php.ini
我重复include_path中的var_dumps和从I从命令行跑了简单test.php的文件中的loaded_ini_file和他们打印出正确的信息。因此,与phpunit有关的内容不会加载正确的/任何php.ini。
我没有使用任何与默认配置不同的配置 - 今天phpunit刚安装在这台机器上。
配置文件(php.ini)Path =>/usr/local/apache/lib Loaded Configuration File => /usr/local/apache/lib/php.ini - 这是我唯一拥有的,当使用'php -i | grep php \ .ini'并且'php --ini'不显示其他的/其他的ini文件时 – helion3
我从简单的test.php文件中重复了include_path和loaded_ini_file的var_dumps我从命令行并打印出正确的信息。因此,phpunit涉及的内容不会加载正确的/任何php.ini。 – helion3
有趣。我发现了一些可能有帮助的配置选项,请查看答案以了解详细信息。 – MJD