PHP: Как я могу настроить PHPUnit для использования другого интерпретатора PHP? - PullRequest
11 голосов
/ 23 июля 2010

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

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

Ответы [ 6 ]

10 голосов
/ 23 июля 2010

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

#!/usr/bin/php

, измените его на

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

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

7 голосов
/ 23 июля 2010

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

1 голос
/ 07 августа 2010

В соответствии с утверждением Томаса, дополнительно есть строка ниже

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

0 голосов
/ 05 августа 2018

Поскольку изменение файла phpunit не помогло мне из-за ошибок подписи phar, я запустил phpunit с другой версией php, явно вызвав интерпретатор (в Linux):

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

Следуя примеру с XAMPP,можно указать полный путь к интерпретатору php:

/Applications/XAMPP/xamppfiles/bin/php /usr/local/bin/phpunit
0 голосов
/ 25 мая 2016

В 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 или в файле сценария php_ini_loaded_file()).

0 голосов
/ 29 октября 2014

Это относится к phpunit, установленному с помощью Homebrew в Mac OS 10.9. Я редактирую файл, расположенный по адресу /usr/local/Cellar/phpunit/4.2.6/bin, как показано ниже. ПРЕДУПРЕЖДЕНИЕ. Я не знаю, как 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 $*
...