我的系统有两个PHP解释器。一个是捆绑了操作系统,另一个是通过XAMPP包安装的。我的所有PHP扩展都应用于XAMPP安装,但PHPUnit似乎只运行我的机器附带的PHP版本。
有没有人知道我可以配置或重建PHPUnit的方式,以便它只使用我的XAMPP PHP解释器?
答案 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