【问题标题】:Emacs+geben: Open local files when debugging instead of remote onesEmacs+geben:调试时打开本地文件而不是远程文件
【发布时间】:2011-08-12 00:43:49
【问题描述】:

先决条件

  • 带有 PHP 和 xdebug 的 Web 服务器。通过 NFS 共享的 htdocs 目录。
  • 使用 geben 运行 emacs 的开发人员机器。通过服务器 htdocs 目录的 NFS 挂载编辑的文件。

问题

使用 emacs 和 geben 调试 PHP Web 应用程序时,打开的 Web 应用程序文件不是本地文件,而是代表服务器上文件内容的“虚拟”文件。

我遇到的主要问题是我无法直接编辑文件,因为我会在服务器上更改它们,这会导致几件事:

  • 更改临时文件会导致 emacs 要求我提供 ssh 登录凭据
  • 更改临时文件,emacs 想要重新加载原始打开的文件,因为它们已更改
  • 临时文件上没有跳转标记

理想情况下,需要设置远程路径到本地路径的映射,但我认为目前使用 geben 是不可能的。 这个问题有解决办法吗?

【问题讨论】:

  • 我知道这个问题很老,但我现在正在努力解决这个问题。任何更新都会很好。
  • 我没有找到解决办法。
  • 找不到这样做的方法。我在 docker 容器中运行 Apache,因此 Geben 将其视为另一台主机,但实际上它是挂载的本地目录。到目前为止,最好的方法是在 docker 容器中安装 ssh 服务器并配置 ssh 密钥以避免登录凭据。

标签: php debugging emacs xdebug geben


【解决方案1】:

我不确定您使用的是什么操作系统,但使用sshfs 可能会更成功,因为您似乎使用它来连接远程服务器。

尝试使用私钥设置您的 ssh。这样你就不会被要求输入密码了。

【讨论】:

  • ssh 在这里绝对没有什么可做的。我明确表示我使用 NFS,除此之外,无论底层文件系统类型如何,geben 都会打开一个虚拟文件。
  • 有趣。那么为什么会这样:“更改临时文件会导致 emacs 向我询问 ssh 登录凭据”?
  • 因为 emacs/geben 知道它是一个远程服务器,并假设你可以 ssh 进入服务器来修改文件。这是我不想要的行为 - 我想要远程到本地的映射。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多