我的系統有兩個PHP解釋器。一個與OS捆綁在一起,另一個通過XAMPP軟件包安裝。我所有的PHP擴展都適用於XAMPP安裝,但PHPUnit似乎只運行我的機器附帶的PHP版本。PHP:如何調整PHPUnit以使用不同的PHP解釋器?
有沒有人知道我可以配置或重建PHPUnit的方式,以便它獨佔地使用我的XAMPP PHP解釋器?
我的系統有兩個PHP解釋器。一個與OS捆綁在一起,另一個通過XAMPP軟件包安裝。我所有的PHP擴展都適用於XAMPP安裝,但PHPUnit似乎只運行我的機器附帶的PHP版本。PHP:如何調整PHPUnit以使用不同的PHP解釋器?
有沒有人知道我可以配置或重建PHPUnit的方式,以便它獨佔地使用我的XAMPP PHP解釋器?
找到您安裝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可執行是
對於Mac/Linux的,的第一行PHPUnit的腳本開始與
#!/usr/bin/php
變化,要
#!/Applications/XAMPP/xamppfiles/bin/php
或任何其他的PHP解釋你想使用。
與托馬斯的說法的同意,另外還有下文進一步
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有很多來回切換最近:)
這適用於使用Mac OS 10.9家釀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 $*
在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()
)。
如果你不確定你的其他PHP運行在哪裏,只需從終端嘗試'php -i'並尋找'$ _SERVER ['_']'。 – 2017-07-06 16:22:12