【问题标题】:End of line character is invalid行尾字符无效
【发布时间】:2016-01-04 11:09:28
【问题描述】:

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

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

<?php

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

【问题讨论】:

    标签: php command-line command-prompt codesniffer


    【解决方案1】:

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

    您可以使用

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

    或使用notepad++之类的编辑器打开您的源文件并将行尾更改为windows

    【讨论】:

    【解决方案2】:

    PHP 代码嗅探器应该检查它所运行的操作系统的默认 EOL,因此对于 Linux,EOL 将是 \n,对于 Windows 是 \r\n。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 2011-03-07
      • 2016-05-03
      • 2014-07-10
      相关资源
      最近更新 更多