我试图将我的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通信)将允许在将来更好地处理这种情况。
我遇到了同样的问题,但我包括记录错误(描述在这里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)后代文件问题。