Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试php使用vim和xdebug,时间设置_Php_Vim_Xdebug - Fatal编程技术网

调试php使用vim和xdebug,时间设置

调试php使用vim和xdebug,时间设置,php,vim,xdebug,Php,Vim,Xdebug,我使用vim+xdebug调试php。如果调试操作浪费了很长时间,vim将失去与xdebug的连接,我必须按F5重新启动调试,并从第一步开始重新进行调试。那么,如何为调试过程设置更长的时间呢?5秒超时是在debugger.py中硬编码的。您可以通过修改以下行来增加它: def accept(self): print 'waiting for a new connection on port '+str(self.port)+' for 5 seconds...' serv =

我使用vim+xdebug调试php。如果调试操作浪费了很长时间,vim将失去与xdebug的连接,我必须按F5重新启动调试,并从第一步开始重新进行调试。那么,如何为调试过程设置更长的时间呢?

5秒超时是在debugger.py中硬编码的。您可以通过修改以下行来增加它:

  def accept(self):
    print 'waiting for a new connection on port '+str(self.port)+' for 5 seconds...'
    serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    try:
      serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
      serv.bind(('', self.port))

      # Set a higher timeout here...
      serv.listen(5)
      (self.sock, address) = serv.accept()
    except socket.timeout:
      serv.close()
      self.stop()
      print 'timeout'
      return
在我的插件版本中,这恰好是debugger.py的第556行。如果不同,只需在Vim中搜索
5
second

更新: 也在第666行找到了它

  def __init__(self, port = 9000, max_children = '32', max_data = '1024', max_depth = '1', minibufexpl = '0', debug = 0):
    """ initialize Debugger """

    # Probably need to increase here too...
    socket.setdefaulttimeout(5)
    self.port       = port
    self.debug      = debug

5秒超时是在debugger.py中硬编码的。您可以通过修改以下行来增加它:

  def accept(self):
    print 'waiting for a new connection on port '+str(self.port)+' for 5 seconds...'
    serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    try:
      serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
      serv.bind(('', self.port))

      # Set a higher timeout here...
      serv.listen(5)
      (self.sock, address) = serv.accept()
    except socket.timeout:
      serv.close()
      self.stop()
      print 'timeout'
      return
在我的插件版本中,这恰好是debugger.py的第556行。如果不同,只需在Vim中搜索
5
second

更新: 也在第666行找到了它

  def __init__(self, port = 9000, max_children = '32', max_data = '1024', max_depth = '1', minibufexpl = '0', debug = 0):
    """ initialize Debugger """

    # Probably need to increase here too...
    socket.setdefaulttimeout(5)
    self.port       = port
    self.debug      = debug

你可以试试我的插件-DBGPavim


DBGPavim没有这样的限制,所以VIM用户不需要等待来自apache服务器的连接。没有超时的事情,用户按F5启动调试器后端,并正常使用他/她的VIM。调试后端不会阻止用户与VIM交互。用户可以随时按F6停止调试器后端。

您可以尝试我的插件-DBGPavim


DBGPavim没有这样的限制,所以VIM用户不需要等待来自apache服务器的连接。没有超时的事情,用户按F5启动调试器后端,并正常使用他/她的VIM。调试后端不会阻止用户与VIM交互。用户可以随时按F6停止调试器后端。

这不是我的问题。我猜apache超时设置会导致此问题。感谢您的回答。这不是我的问题。我猜apache超时设置会导致此问题。感谢您的回答。+1是很棒的插件。我花了一些时间才弄明白如何设置它。。。因为它比DGBp简单得多。我喜欢这样一个事实,即使用Virtualhost指令很容易设置参数,因此不需要依赖全局php.ini参数(如果您碰巧在同一台服务器上托管PROD和DEV,那么这个参数很有用)+1作为很棒的插件。我花了一些时间才弄明白如何设置它。。。因为它比DGBp简单得多。我喜欢这样一个事实,即使用Virtualhost指令很容易设置参数,因此不依赖全局php.ini参数(如果碰巧在同一台服务器上托管PROD和DEV,那么这很有用)