PHPStorm – 后代文件名称无效

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

当我尝试任何一种连接(例如“testingSFTP连接”)时,它会失败

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

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

即使连接到Ubuntu服务器的最基本的操作失败,因为这个 – Jetbrains支持build议在这里问,所以没有人有线索?

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

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

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

PS
这种文件通常由Linux上的Firefox创建(谷歌的文件名为其他细节)。

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


Jetbrains支持建议在这里提问

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

无论如何 – 这是要看的票 – 希望用过的库(用于SFTP通信)将允许在将来更好地处理这种情况。

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

我遇到了同样的问题,但我包括记录错误(描述在这里https://devnet.jetbrains.com/docs/DOC-1202 ),我看到我创建了一个名称不正确的文件 在这里输入图像说明

我也有同样的问题,但这不是由于Firefox,我想知道原来的提问者是否可能在配置他的xdebug时犯了同样的错误。

作为一个新手,在我的php.ini (实际上在单独的xdebug.ini)设置xdebug.remote_log的值,我用我的本地计算机上的项目的Windows文件路径。 为什么? 因为这个值叫做“remote_log”,所以我误以为是想要我的windows机器上的路径,当时我觉得很奇怪。 但我是远程调试的新手,所以…哎呀。

使用Windows路径是错误的:

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

结果是:

/ var / www / myproject / C:\ Users \ Buttle \ PhpstormProjects \ xdebug_log.txt

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

这是对的:

xdebug.remote_log = “xdebug_log.txt”

并可能导致:

/ var / www / myproject / xdebug_log.txt

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

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

我想如果我输入一个有效的Linux路径,我可能能够把文件放在别的地方。 例如

这可能工作:

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

所以这解决了2个问题:1)为什么heck没有xdebug在其服务器上记录任何东西(它确实!)2)后代文件问题。