Sublime Text 2使用了错误的PHP版本

时间:2014-02-14 01:05:49

标签: php python sublimetext2 couchbase pythonpath

我正在尝试测试一个涉及安装在PHP 5.5扩展目录中的模块的类,特别是Couchbase(运行正常,我在同一台机器上正好开发它)。但是当php单元尝试运行测试时给出了一个错误,说找不到类Couchbase,这当然是在php sdk中定义的。我在MacOSX 10.7.3上。

当我在我的终端中运行时

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

我在Sublime Text 2中创建了一个插件,以查看在sublime Text

中使用的php版本
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 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

1 个答案:

答案 0 :(得分: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版本。