2014-02-22 25 views
10

我試圖從我的Windows 7 PC與我的Ubuntu服務器同步我的本地PHPStorm項目。PHPStorm - 無效的後代文件名

當我嘗試任何類型的連接(例如,「測試SFTP連接」)時,出現

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

提到我的Windows機器上不存在的文件夾,當然不是我的Ubuntu服務器。

即使連接到Ubuntu服務器的最基本的操作失敗,因爲這 - Jetbrains支持建議在這裏問,所以沒有人有線索?

回答

30

您的Ubuntu服務器上有一個文件,其名稱爲C:\nppdf32Log\debuglog.txt。是的 - 它在Ubuntu和YES上 - 它實際上是文件名而不是完整路徑(Linux允許在文件名中包含:\個字符)。

遺憾的是這樣的文件名是在Windows和用於PhpStorm SFTP通信不允許以任何方式處理這些文檔庫(是的,它是有效的完整路徑但不能作爲文件名單獨)無效。

解決方案是使用其他程序(例如FileZilla)連接到您的SFTP並刪除該文件。之後,您將能夠繼續使用PhpStorm內置的SFTP功能。

P.S.
這樣的文件通常由Linux上的Firefox創建(谷歌文件名稱爲其他細節)。

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


Jetbrains的支持建議請點擊這裏

這是奇怪的(並且很難相信我) - 他們應該知道如何確定這樣的問題 - 你是不是第一個面臨同樣錯誤的人。

在任何情況下 - 這是要觀看的票據 - 希望使用過的庫(用於SFTP通信)將允許在未來更好地處理此類情況。

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

+0

奇怪的文件 - 這就是問題所在。進一步挖掘發現有這個名字的文件的幾個副本 - 儘管沒有在應該被sftp連接觸及的路徑中。謝謝。哦,在提交支持請求後,屏幕上會顯示一條鏈接,指向stackoverflow--它表示他們也有支持人員在這裏傾聽。 – Hippyjim

+0

Soo we-ird。 wtf – r3x

0

我有同樣的問題,但它不是由於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:\用戶\巴特爾\ 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" 

因此,這解決了兩個問題:1)爲什麼赫克沒有Xdebug的登錄其服務器上的任何東西(它)2)後代文件的問題!

+0

謝謝,但是自從修復這個問題之後,我發現這個文件是由Adobe Reader而不是Firefox創建的 - 我懷疑幾個應用程序可能會使用一些產生這個文件的lib。我的Xdebug日誌*絕對是*使用Linux路徑! – Hippyjim