gpt4 book ai didi

php - 在远程服务器上安装 Xdebug 以进行分析

转载 作者:行者123 更新时间:2023-12-04 19:03:52 24 4
gpt4 key购买 nike

我正在尝试在 AWS 云中的远程服务器上安装 Xdebug 以进行分析。我安装了 Xdebug 我使用 phpinfo() 检查并保留了一些设置以在服务器上启用分析选项,我验证它已启用。

我将 pro filer 的输出日志保存在远程服务器上的目录中。现在我想使用 Kcachedgrind 打开这些文件。所以我安装了 Kcachesgrind。

我在 PHP.ini 文件中使用的设置如下。

zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
xdebug.profiler_output_dir = "/opt/lampp/htdocs/profiler/logs"
xdebug.profile_output_name = cachegrind.out.%t-%s
xdebug.remote_enable=On
xdebug.remote_host="ip-10-125-11-57"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.show_local_vars=On
xdebug.collect_return=On
xdebug.collect_params=4
xdebug.profiler_enable=On
xdebug.profiler_enable_trigger=1

在上述设置中,您可以看到名为 xdebug.remote_host 的文件,通常它是本地主机,但我在远程服务器中,所以我将服务器的主机名保留在那里。当我尝试使用 Kcachegrind 打开文件时出现以下错误。
Kcachegrind: Can't connect to X server

最佳答案

你基本上有两个明智的选择:

  • 将文件从远程服务器下载到本地计算机并在那里进行调试。 如果您对每次都必须下载文件感到恼火,请以某种方式自动执行任务。
  • 使用命令行实用程序来评估文件(xdebug 文档提到 ct_annotate),请参见此处:http://xdebug.org/docs/profiler

  • 我强烈建议选项1。

    请注意,Kcachegrind 是一个带有 GUI(图形用户界面)的程序,意思是:它有窗口和按钮之类的东西。您的远程服务器通常不需要任何 GUI 软件,因此不支持安装的窗口和按钮以及类似的东西(没有 X 服务器、没有 KDE 等)。虽然 TeTeT 解决方案在理论上是可行的,但请不要在远程服务器上安装 X 并通过 vnc 连接。它很慢,会占用大量的硬盘空间和内存,对于初学者来说是一个陡峭的学习曲线。

    关于php - 在远程服务器上安装 Xdebug 以进行分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16891349/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com