在Mac OS X上安装带有XAMPP的PHPUnit

时间:2011-05-19 20:02:23

标签: php apache phpunit xampp pear

有谁知道如何在Mac OS X上安装PHPUnit(我正在使用XAMPP)。我尝试了以下命令,它说安装成功(没有错误)。现在,当我尝试在终端中运行phpunit命令时,出现错误,无法找到命令phpunit。另外,运行“哪个phpunit”什么都不返回。

我跑的命令:

    $sudo /Applications/XAMPP/xamppfiles/bin/pear channel-discover pear.phpunit.de
    $sudo /Applications/XAMPP/xamppfiles/bin/pear channel-discover pear.symfony-project.com
    $sudo /Applications/XAMPP/xamppfiles/bin/pear channel-discover components.ez.no
    $sudo /Applications/XAMPP/xamppfiles/bin/pear install -a phpunit/PHPUnit

感谢。

4 个答案:

答案 0 :(得分:1)

通过XAMPP安装PHPunit几乎让我很生气,一个错误告诉我,我的xdebug版本是旧的安装PHPunit所需的Coverage库,三秒钟后另一个告诉我一切都很好但没有安装phpunit命令

我选择通过在系统级别(XAMPP之外)安装phpunit来绕过该问题。

cd /tmp
curl http://pear.php.net/go-pear.phar > go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar

这应该安装梨(告诉你哪里,默认在你的家里)。

cd ~/pear/bin
sudo ./pear channel-discover pear.phpunit.de
sudo ./pear channel-discover pear.symfony-project.com
sudo ./pear channel-discover components.ez.no
sudo ./pear install -a phpunit/PHPUnit

./ phpunit现在应该给你一些东西(在我的情况下,它会显示某些导入未完成的内容。

Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or directory in ~/pear/share/pear/PHPUnit/Autoload.php on line 45

Fatal error: require_once(): Failed opening required 'File/Iterator/Autoload.php' (include_path='.:') in ~/pear/share/pear/PHPUnit/Autoload.php on line 45

如果您没有/etc/php.ini,请创建它:

sudo cp /etc/php.ini.default /etc/php.ini

然后编辑/etc/php.ini并设置正确的路径:

include_path = ".:/php/includes:/Users/YOURUSERNAME/pear/share/pear"

然后在你的pear bin目录中调用./phpunit应该可以工作......与Ubuntu上的一些aptitude和pear调用相比,它非常痛苦,但它可以让你在OSX上工作。您应该仍然可以使用XAMPP作为Web服务器,但请记住XAMPP使用其buildin PHP环境,phpunit将使用您的系统之一。

答案 1 :(得分:1)

AsTeR的方法对我有用,因为当时因为坚持旧的 PHP 5.3.1 当前的PHPUnit版本会抱怨,因为缺少函数 stream_resolve_include_path

所以我最终将解决方案与此答案一起使用:https://stackoverflow.com/a/8249291

答案 2 :(得分:0)

我在@ trent-scott的帮助下做了同样的错误。

Fatal error: require_once(): Failed opening required 'File/Iterator/Autoload.php' (include_path='.:')

您可以注意到有一个空的包含路径(include_path =':')..

转到php.ini文件。通过终端'php --ini'来做出这一点。

确保你在文件的某个地方有类似的东西(一定要替换用户名):

include_path=".:/Users/hfossli/pear/share/pear"

这应该足够了,但我出于某种原因得到了这个(一定要替换用户名):

include_path=".:/Applications/XAMPP/xamppfiles/lib/php/pear:/Applications/XAMPP/xamppfiles/lib/php/pear:/Users/hfossli/pear/share/pear"

答案 3 :(得分:0)

我资助了另一个适合我的临时解决方案。不要直接在Xampp应用程序中使用pear命令,而是尝试使用pear可执行文件的完整路径,例如:/ Applications / XAMPP / xamppfiles / bin / pear

希望它有所帮助。