PHP: Как я могу настроить PHPUnit для использования другого интерпретатора PHP?

В моей системе есть два интерпретатора PHP. Один пришел в комплекте с ОС, а другой я установил через пакет XAMPP. Все мои расширения PHP применяются к установке XAMPP, но PHPUnit, похоже, запускает только версию PHP, которая поставляется вместе с моей машиной.

Кто-нибудь знает, как я могу настроить или перестроить PHPUnit, чтобы он использовал исключительно мой интерпретатор XAMPP PHP?

Ответ 1

Найдите папку, в которую вы установили 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

Для Mac/Linux первая строка phpunit script начинается с

#!/usr/bin/php

измените это на

#!/Applications/XAMPP/xamppfiles/bin/php

или любые другие интерпретации php, которые вы хотите использовать.

Ответ 3

В согласии с высказыванием Томаса дополнительно имеется строка ниже

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:)

Ответ 4

Это относится к phpunit, установленному с использованием Homebrew в Mac OS 10.9. Ive редактирует файл, расположенный по адресу /usr/local/Cellar/phpunit/ 4.2.6/bin, как показано ниже. CAVEAT: Я не знаю, как Homebrew справится с этим при обновлении PhpUnit, но на данный момент его работа должна быть в состоянии выбрать версию php, которую PhpUnit использует для тестирования.

#!/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 $*

Ответ 5

В Windows это может быть достигнуто с использованием аналогичного подхода к тем, которые упомянуты в других ответах.

В вашем каталоге /path/to/composer/phpunit откройте файл phpunit в редакторе. Первая строка должна выглядеть так:

#!/usr/bin/env php

Просто загрузите нужную версию PHP для 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/, что соответствует C:\misc\php-5.5.9-nts-Win32-VC11-x86\, используя синтаксис пути Windows.

Не забудьте проверить, что используется правильный файл php.ini (php --ini или в файле script php_ini_loaded_file()).