OSError:[Errno 13]在使用Sublime phpcs包OSX 10.7时,python拒绝了权限

OSError:[Errno 13]在使用Sublime phpcs包OSX 10.7时,python拒绝了权限,php,python,sublimetext,codesniffer,Php,Python,Sublimetext,Codesniffer,我尝试将Php代码嗅探器与Sublime一起使用,但在Sublime终端中,每次尝试嗅探文件时,我都会得到以下信息: Traceback (most recent call last): File "./sublime_plugin.py", line 350, in run_ File "./phpcs.py", line 382, in run File "./phpcs.py", line 270, in run File "./phpcs.py", line 98, in get_err

我尝试将Php代码嗅探器与Sublime一起使用,但在Sublime终端中,每次尝试嗅探文件时,我都会得到以下信息:

Traceback (most recent call last):
File "./sublime_plugin.py", line 350, in run_
File "./phpcs.py", line 382, in run
File "./phpcs.py", line 270, in run
File "./phpcs.py", line 98, in get_errors
File "./phpcs.py", line 138, in execute
File "./phpcs.py", line 141, in parse_report
File "./phpcs.py", line 106, in shell_out
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 623, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 1141, in _execute_child
raise child_exception
OSError: [Errno 13] Permission denied
看起来某个地方存在权限问题,但是:

  • 我已将/opt/local/lib/php/pear/bin中的phpcs文件设置为可执行文件,并检查了所有父目录
  • 我已经将sublime包目录中的phpcs.py设置为可执行文件(尽管不确定它是否需要),与父目录的设置相同
  • 我已经检查过了,我可以在命令行上很好地运行phpcs。它位于PATH中,它执行它需要执行的操作,并返回结果,没有错误
根据ms4py注释更新输出-ln 105处的“打印命令”:

['php', '-l', '-d display_errors=On', u'/Users/pete/projects/portal/apps/frontend/modules/chilled/actions/actions.class.php']
[u'/opt/local/lib/php/pear/bin', '--report=checkstyle', '-n', u'--standard=PEAR', u'/Users/pete/projects/portal/apps/frontend/modules/chilled/actions/actions.class.php']

将评论放入此答案并标记为社区wiki:


检查此项,以下是修复方法: -施拉马尔2012年5月29日 13点47分


设置应该直接链接到可执行文件:
'/opt/local/lib/php/pear/bin/phpcs'
-schlamar 2012年5月29日14:15

正如github问题中所解释的,PHPC中有一个新设置,允许用户在Sublime无法自动找到php cs可执行文件时提供该文件的路径,从而解决此问题:


phpcs\u可执行路径

将注释放入此答案并标记为社区wiki:


检查此项,以下是修复方法: -施拉马尔2012年5月29日 13点47分


设置应该直接链接到可执行文件:
'/opt/local/lib/php/pear/bin/phpcs'
-schlamar 2012年5月29日14:15

正如github问题中所解释的,PHPC中有一个新设置,允许用户在Sublime无法自动找到php cs可执行文件时提供该文件的路径,从而解决此问题:


phpcs\u executable\u path

权限错误是由于phpcs.py正在第105行执行()。在这一行之前放置一个
print cmd
,并告诉我们该命令。检查一下,这里有一个修复方法:当我遇到另一个错误时,已经在配置中添加了该路径,所以我认为不是这样。设置应该直接链接到可执行文件:
'/opt/local/lib/php/pear/bin/phpcs'
是的。我收回。我在路径中输入了减去文件名本身的内容。修复路径确实解决了问题。谢谢。权限错误是由于phpcs.py正在第105行()执行。在这一行之前放置一个
print cmd
,并告诉我们该命令。检查一下,这里有一个修复方法:当我遇到另一个错误时,已经在配置中添加了该路径,所以我认为不是这样。设置应该直接链接到可执行文件:
'/opt/local/lib/php/pear/bin/phpcs'
是的。我收回。我在路径中输入了减去文件名本身的内容。修复路径确实解决了问题。谢谢