行尾字符无效
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
命令检测,根据需要使用dos2unix
或unix2dos
。
我使用 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
命令检测,根据需要使用dos2unix
或unix2dos
。