PHPStorm - 无效的后代文件名

时间:2014-02-22 10:01:28

标签: windows ubuntu ssh sftp phpstorm

我正在尝试将我的Windows 7 PC上的本地PHPStorm项目与我的Ubuntu服务器同步。

当我尝试任何类型的连接时(例如“测试SFTP连接”),它会以

失败

Invalid descendent file name "C:\nppdf32Log\debuglog.txt"

我的Windows机器上没有提到的文件夹,当然也不在我的Ubuntu服务器上。

即使是连接到Ubuntu服务器的最基本的操作也因此而失败 - Jetbrains支持建议在这里询问,有没有人有线索?

3 个答案:

答案 0 :(得分:33)

您的Ubuntu服务器上有一个C:\nppdf32Log\debuglog.txt名称的文件。是的 - 它在Ubuntu上,是 - 它实际上是一个文件名而不是完整路径(Linux允许文件名中包含:\个字符。)

不幸的是,这样的文件名在Windows上是无效的,并且在PhpStorm中用于SFTP通信的库不允许以任何方式处理这些文件(是的,它有效为完整路径但不是单独的文件名)。

解决方案是使用其他程序(例如FileZilla)连接到您的SFTP并删除该文件。之后,您将能够继续使用PhpStorm内置的SFTP功能。

P.S。
这样的文件通常由Linux上的Firefox创建(google文件名以获取更多详细信息)。

https://askubuntu.com/questions/144408/what-is-the-file-c-nppdf32log-debuglog-txt


  

Jetbrains支持建议在这里询问

这很奇怪(很难相信我) - 他们应该肯定知道这个问题 - 你不是第一个面临同样错误的人。

无论如何 - 这是值得关注的门票 - 希望用过的库(用于SFTP通信)将来可以更好地处理这些情况。

http://youtrack.jetbrains.com/issue/WI-2449

答案 1 :(得分:2)

我遇到了同样的问题, 但我记录了错误记录(这里描述https://devnet.jetbrains.com/docs/DOC-1202) 我看到我创建了一个名称不正确的文件 enter image description here

答案 2 :(得分:0)

我遇到了同样的问题,但这不是因为Firefox,我想知道原始提问者是否可能犯了我在配置xdebug时犯的错误。

作为一个新手,在xdebug.remote_log中设置php.ini的值(实际上是在单独的xdebug.ini中)时,我在本地计算机上使用了Windows文件路径到我的项目。为什么?因为这个值叫做" remote_log"所以我错误地认为它想要我的Windows机器上的路径,我认为当时它很奇怪。但我是远程调试的新手,所以...糟糕。

使用Windows路径是错误的:

xdebug.remote_log="C:\Users\Buttle\PhpstormProjects\xdebug_log.txt"

结果是:

的/ var / WWW / myproject的/的 C:\用户\巴特尔\ PhpstormProjects \ xdebug_log.txt

(粗体部分是实际文件名)

这是对的:

xdebug.remote_log =" xdebug_log.txt"

并且可能导致:

的/ var / WWW / myproject的/的 xdebug_log.txt

(粗体部分是实际文件名)

看来Xdebug将该日志文件保存在所请求的php文件所在的文件夹中(在我的例子中,是我的项目的index.php文件)。

我想如果我输入一个有效的linux路径,我可能会将该文件放在其他地方。 E.g。

这可能有效:

xdebug.remote_log="/var/www/xdebug_log.txt"

因此,这解决了2个问题:1。)为什么xdebug不会在其服务器上记录任何内容(确实如此!)2。)后代文件问题。