PHP:我如何调整PHPUnit以使用不同的PHP解释器?

时间:2010-07-23 03:24:02

标签: php configuration xampp phpunit

我的系统有两个PHP解释器。一个是捆绑了操作系统,另一个是通过XAMPP包安装的。我的所有PHP扩展都应用于XAMPP安装,但PHPUnit似乎只运行我的机器附带的PHP版本。

有没有人知道我可以配置或重建PHPUnit的方式,以便它只使用我的XAMPP PHP解释器?

6 个答案:

答案 0 :(得分:10)

答案 1 :(得分:7)

找到你安装PHPUnit的文件夹。应该有一个名为phpunit.bat的文件。它应该有一行类似

的行
set PHPBIN="C:\php\php.exe"
%PHPBIN% "C:\php\phpunit" %*

将其更改为阅读

set PHPBIN="C:\xampp\php\php.exe"
%PHPBIN% "C:\xampp\php\phpunit" %*

或者PHP可执行文件的路径是

答案 2 :(得分:1)

与托马斯的声明一致,另外还有一行

if (strpos('/Applications/MAMP/bin/php5.3/bin/php', '@php_bin') === 0) {
    set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path());
}

我被告知你也应该改变以反映你有兴趣使用的PHP (我明确地将我的设置为MAMP)

我最近在5.2和5.3之间来回切换:)

答案 3 :(得分:0)

这适用于在Mac OS 10.9上使用Homebrew安装的phpunit。我正在编辑位于/usr/local/Cellar/phpunit/4.2.6/bin的文件,如下所示。 CAVEAT:我不知道Homebrew将如何在PhpUnit更新中处理这个问题,但是现在它正在努力选择PhpUnit正在使用的php版本进行测试。

#!/usr/bin/env bash

php=/Applications/MAMP/bin/php/php5.3.14/bin/php
#php=/Applications/MAMP/bin/php/php5.4.4/bin/php

/usr/bin/env $php -d allow_url_fopen=On -d detect_unicode=Off /usr/local/Cellar/phpunit/4.2.6/libexec/phpunit-4.2.6.phar $*

答案 4 :(得分:0)

在Windows上,可以使用与其他回复中提到的方法类似的方法来实现。

/path/to/composer/phpunit目录中,在编辑器中打开phpunit文件。第一行应如下所示:

#!/usr/bin/env php

只需download your desired version of PHP for Windows,将ZIP文件的内容放在您喜欢的位置,并将完全量化的路径引用到php.exe文件,而不仅仅是php。像这样:

#!/usr/bin/env /c/misc/php-5.5.9-nts-Win32-VC11-x86/php.exe

就我而言,我把它放在/c/misc/php-5.5.9-nts-Win32-VC11-x86/中,它使用Windows路径语法对应C:\misc\php-5.5.9-nts-Win32-VC11-x86\

请务必验证是否正在使用正确的php.ini文件(php --ini或脚本文件php_ini_loaded_file())。

答案 5 :(得分:0)

由于由于phar签名错误而无法修改phpunit文件,因此我通过显式调用解释器(在Linux上)运行具有不同php版本的phpunit:

php7.1 /usr/local/bin/phpunit
php5.6 /usr/local/bin/phpunit

在使用XAMPP的示例之后,可以提供php解释器的完整路径:

/Applications/XAMPP/xamppfiles/bin/php /usr/local/bin/phpunit