我最近在 Mac (10.8.3) 上安装了 PHPUnit(运行 PHP 5.4.7)。例如,当我尝试运行测试phpunit testfile.php
时,我收到:
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
我从命令行运行的一个简单的 test.php 文件中重复了 include_path 的 var_dumps 和 loaded_ini_file,它们打印出正确的信息。因此,与 phpunit 相关的东西没有加载正确的/任何 php.ini。
我没有使用任何不同于默认配置的配置——phpunit 今天刚刚安装在这台机器上。