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()
).