我正在尝试将我的Windows 7 PC上的本地PHPStorm项目与我的Ubuntu服务器同步。
当我尝试任何类型的连接时(例如“测试SFTP连接”),它会以
失败 Invalid descendent file name "C:\nppdf32Log\debuglog.txt"
我的Windows机器上没有提到的文件夹,当然也不在我的Ubuntu服务器上。
即使是连接到Ubuntu服务器的最基本的操作也因此而失败 - Jetbrains支持建议在这里询问,有没有人有线索?
答案 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通信)将来可以更好地处理这些情况。
答案 1 :(得分:2)
我遇到了同样的问题, 但我记录了错误记录(这里描述https://devnet.jetbrains.com/docs/DOC-1202) 我看到我创建了一个名称不正确的文件
答案 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。)后代文件问题。