行尾字符无效

时间:2015-10-07 09:22:06

标签: php command-line command-prompt codesniffer

我使用php codesniffer检查了我的代码并得到了这个错误:

enter image description here

它说错误发生在代码的第一行,但我在代码的第一行中只有一个php开始标记:

<?php

是否有程序显示这些字符并修复它?我也试过phpcbf命令,但它似乎不起作用:

enter image description here

2 个答案:

答案 0 :(得分:0)

我假设您正在使用Windows。 您的文件使用unix lineendings(&#34; \ n&#34;) Windows使用(&#34; \ r \ n&#34;)

您可以使用

转换命令行中的lineendings
type input_filename | more /P > output_filename

或使用notepad ++等编辑器打开源文件,并将lineendings更改为windows

答案 1 :(得分:0)

PHP codeniffer应该检查它运行的操作系统的默认EOL,因此EOL对于Linux是\ n,对于Windows是\ r \ n。

最有可能的是,您正在检查的其中一个文件对于当前操作系统具有错误或混合的EOL(这就是发生在我身上的事情)。这可能并不明显,因为文件编辑经常会对此进行补偿。

但是,许多编辑都有一个功能来告诉你文件的EOL是什么,甚至是重置它。 Windows上的Notepad ++在“编辑”菜单中具有此功能。在linux上,使用file命令检测,并根据需要使用dos2unixunix2dos