行尾字符无效

End of line character is invalid

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

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

<?php

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

我假设您正在使用 windows。 您的文件使用 unix lineendings ("\n") Windows 使用 ("\r\n")

您可以使用

在命令行中转换行尾
type input_filename | more /P > output_filename

或者用记事本++之类的编辑器打开你的源文件并将行尾改为windows

PHP codesniffer 应该检查 OS 的默认 EOL 它是 运行,所以 EOL 将是 \n 对于 Linux 和 \r\n 对于 Windows.

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

不过,许多编辑器确实有一个功能可以告诉您文件的 EOL 是什么,甚至可以重置它。 Windows 上的 Notepad++ 在“编辑”菜单中有此功能。在linux上使用file命令检测,根据需要使用dos2unixunix2dos