2015-10-07 60 views
3

我使用PHP codesniffer檢查了我的代碼,並得到這個錯誤:結束行字符是無效的

enter image description here

它說,在代碼的第一行發生的錯誤,但我必須在第一我的代碼行是一個PHP的開放標籤:

<?php 

是否有程序來顯示這些字符並修復它?我也試過phpcbf命令,但它似乎並沒有工作:

enter image description here

回答

0

我假設你使用的是Windows。 您的文件使用UNIX lineendings( 「\ n」) Windows使用( 「\ r \ n」)

你可以轉換lineendings在命令行與

type input_filename | more /P > output_filename 

或打開sourcefiles用編輯器像記事本++和改變lineendings到窗口

+0

感謝命令沒有爲我工作,但notepadd ++做到了:http://stackoverflow.com/questions/11341660/change-eol-on-multiple-files-in-one-go – NL500

0

PHP codesniffer應該檢查它運行的操作系統的默認EOL,所以EOL將\ n爲Linux和\ r \ n爲Windows。

最有可能的是,你正在檢查的文件中有一個對當前操作系統有錯誤或混合的EOL(這是發生在我身上的事情)。這可能並不明顯,因爲文件編輯通常會對此進行補償。

不過,許多編輯者確實有一個功能可以告訴你文件的EOL是什麼,甚至可以重置它。 Windows上的記事本++在編輯菜單中有這個功能。在Linux上,根據需要使用file命令檢測並使用dos2unixunix2dos