2015-10-07 53 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