草庐IT

php - Xdebug 在启用远程调试的情况下使网站加载挂起

coder 2024-05-04 原文

我会尽量详细说明情况,但这让我困惑了太久。

我有一个在 Win7 主机上运行的 Ubuntu Server 12.04 客户机。我为 VBox 配置了 2 个 NIC:一个用于与外界通信的 NAT 适配器和一个用于创建专用网络供主机和 guest 进行通信的 Host-Only 适配器。LAMP 堆栈是 Ubuntu Server 12.04 提供的默认堆栈。 guest 识别这两个 NIC,并且 Host-Only NIC 具有静态 IP 配置。主机称为 192.168.56.1, guest 称为 192.168.56.101。我用了this指南进行设置。 ifconfig 显示两个适配器。我通过 ping 测试了主机是否可以访问,我确实收到了回复。

我的一切都正常工作:MySQL、PHP、Apache2、APC、共享文件夹挂载,项目可以访问并以应有的速度加载。

这就是 xdebug 发挥作用的地方。只要我禁用远程调试器或告诉 xdebug 我的远程主机是本地主机,项目加载速度就不错。但是一旦我告诉 xdebug 远程主机不是本地主机或者它应该连接回任何请求,页面加载似乎会在最终交付结果之前挂起 分钟

我使用 Symfony2 进行开发,它有一个漂亮的开发人员工具栏,这个工具栏实际上告诉我页面加载耗时 1174 毫秒。这让我怀疑可能是 xdebug 和 Apache 表现不佳。以下是我尝试使用 xdebug 进行的非常基本的配置:

zend_extension=/usr/lib/php5/20090626/xdebug.so

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
;xdebug.remote_connect_back=on
xdebug.remote_host=192.168.56.1
xdebug.remote_port=9000
xdebug.remote_log = /var/log/xdebug.log

我完全不知道是什么导致了这个问题,非常感谢任何帮助。提前致谢!

最佳答案

好吧,它没有我想象的那么复杂。

Windows 防火墙阻止了该端口。在我认为我已经允许端口 9000 通过防火墙之后,我决定通过完全关闭它来再次检查。低看:它运行完美。所以我会在这里为遇到同样问题的人留下这个回复:

确保在使用类似结构时允许通过所选调试器端口的流量!

关于php - Xdebug 在启用远程调试的情况下使网站加载挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11005160/

有关php - Xdebug 在启用远程调试的情况下使网站加载挂起的更多相关文章

  1. ruby - 默认情况下使选项为 false - 2

    这是在Ruby中设置默认值的常用方法:classQuietByDefaultdefinitialize(opts={})@verbose=opts[:verbose]endend这是一个容易落入的陷阱:classVerboseNoMatterWhatdefinitialize(opts={})@verbose=opts[:verbose]||trueendend正确的做法是:classVerboseByDefaultdefinitialize(opts={})@verbose=opts.include?(:verbose)?opts[:verbose]:trueendend编写Verb

  2. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  3. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  4. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  5. ruby-on-rails - 无法让 rspec、spork 和调试器正常运行 - 2

    GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'

  6. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  7. ruby - 在不使用 RVM 的情况下在 Mac 上卸载和升级 Ruby - 2

    我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案

  8. ruby - JetBrains RubyMine 3.2.4 调试器不工作 - 2

    使用Ruby1.9.2运行IDE提示说需要gemruby​​-debug-base19x并提供安装它。但是,在尝试安装它时会显示消息Failedtoinstallgems.Followinggemswerenotinstalled:C:/ProgramFiles(x86)/JetBrains/RubyMine3.2.4/rb/gems/ruby-debug-base19x-0.11.30.pre2.gem:Errorinstallingruby-debug-base19x-0.11.30.pre2.gem:The'linecache19'nativegemrequiresinstall

  9. ruby-on-rails - 如何调试 cucumber 测试? - 2

    我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element

  10. ruby-on-rails - 启用 Rack::Deflater 时 ETag 发生变化 - 2

    在启用Rack::Deflater来gzip我的响应主体时偶然发现了一些奇怪的东西。也许我遗漏了一些东西,但启用此功能后,响应被压缩,但是资源的ETag在每个请求上都会发生变化。这会强制应用程序每次都响应,而不是发送304。这在没有启用Rack::Deflater的情况下有效,我已经验证页面源没有改变。我正在运行一个使用thin作为Web服务器的Rails应用程序。Gemfile.lockhttps://gist.github.com/2510816有没有什么方法可以让我从Rack中间件获得更多的输出,这样我就可以看到发生了什么?提前致谢。 最佳答案

随机推荐