簡體   English   中英

PHP:我如何調整PHPUnit以使用不同的PHP解釋器?

[英]PHP: How can I tweak PHPUnit to use a different PHP interpreter?

我的系統有兩個PHP解釋器。 一個是捆綁了操作系統,另一個是通過XAMPP包安裝的。 我的所有PHP擴展都應用於XAMPP安裝,但PHPUnit似乎只運行我的機器附帶的PHP版本。

有沒有人知道我可以配置或重建PHPUnit的方式,以便它只使用我的XAMPP PHP解釋器?

對於Mac / Linux,phpunit腳本的第一行以

#!/usr/bin/php

改變為

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

或者你想要使用的任何其他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可執行文件的路徑是什么

與托馬斯的聲明一致,另外還有一條線在下面

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上使用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 $*

在Windows上,這可以使用與其他回復中提到的方法類似的方法來實現。

/path/to/composer/phpunit目錄中,在編輯器中打開phpunit文件。 第一行應如下所示:

#!/usr/bin/env php

只需下載所需的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/ ,它對應於C:\\misc\\php-5.5.9-nts-Win32-VC11-x86\\使用Windows路徑語法。

請記住驗證是否正在使用正確的php.ini文件( php --ini或腳本文件php_ini_loaded_file() )。

由於phar簽名錯誤修改phpunit文件對我不起作用,我通過顯式調用解釋器(在Linux上)運行phpunit與不同的php版本:

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

按照XAMPP的示例,可以提供php解釋器的完整路徑:

/Applications/XAMPP/xamppfiles/bin/php /usr/local/bin/phpunit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM