2014-02-14 26 views
1

我試圖測試一個類,它涉及到一個模塊安裝在PHP 5.5擴展目錄,特別是Couchbase(它運行正常,我正在開發它的頂部就好了同一臺機器)。但是,當php單元試圖運行測試給我一個錯誤,說Couchbase類沒有找到,這當然是在PHP SDK中定義。我在MacOSX 10.7.3上。Sublime Text 2使用錯誤的PHP版本

當我在終端

tomas:~ tomasruiz$ php -v 

PHP 5.5.8 (cli) (built: Jan 12 2014 19:34:38) 
Copyright (c) 1997-2013 The PHP Group 
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies 
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies 
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans 

tomas:~ tomasruiz$ which php 

/usr/local/php5/bin/php 

運行我崇高的文本2中創建一個插件來查看崇高文本

import sublime, sublime_plugin 
import subprocess 
import os 

class ExampleCommand(sublime_plugin.TextCommand): 
    def run(self, edit): 
     self.view.window().run_command('exec', {'cmd': ["php", "-v"]}) 

使用的PHP版本,這是它返回什麼?

PHP 5.3.6 with Suhosin-Patch (cli) (built: Sep 8 2011 19:34:00) 
Copyright (c) 1997-2011 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies 
    with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans 

和上面一樣,但用 「的PHP」 同樣的事情..

/usr/bin/php 

有人有什麼想法如何配置?或者我在這裏做錯了什麼?

在此先感謝。

TR

回答

4

我假設你是指你通過ST構建系統運行php單元?如果是這樣的所以這裏就是我設法解決類似的問題

解決方案1:符號鏈接

mv /usr/bin/php /usr/bin/php53 
ln -s /usr/local/php5/bin/php /usr/bin/php 

解決方案2:編輯或PHP

{ 「cmd」: [「/usr/local/php5/bin/php」, 「$file」], 「file_regex」: 「php$」, 「selector」: 「source.php」 } 

創建第二個構建系統您面臨的問題很可能是由於ST運行PHP的用戶沒有設置爲使用/usr/local/php5/bin/php可執行文件,而在舊版PHP 5.3中構建的OS X爲/usr/bin/是系統嘗試查找可執行文件(如果未在本地bin目錄中找到該文件)的下一個地方。

我建議您使用解決方案1,您將確保系統上的所有內容都使用正確的PHP版本。

+0

謝謝@Vlakarados,我會嘗試解決方案1,當然,這是一個有點粗糙的解決方案。 「ST運行PHP的用戶沒有設置爲使用/ usr/local/php5/bin/php可執行文件」,這是什麼意思?有沒有辦法知道用戶在使用什麼?還是一種改變它的方法? – tomasruizr

+0

如果您需要舊版本,這很粗糙,您可以嘗試從Sublime .py腳本運行'echo'$ USER「'bash命令 –