【发布时间】:2016-01-04 11:09:28
【问题描述】:
我使用 php codesniffer 检查了我的代码并得到了这个错误:
它说错误发生在代码的第一行,但我在代码的第一行中只有一个 php 开始标记:
<?php
是否有显示这些字符并修复它的程序?我也尝试了 phpcbf 命令,但它似乎不起作用:
【问题讨论】:
标签: php command-line command-prompt codesniffer
我使用 php codesniffer 检查了我的代码并得到了这个错误:
它说错误发生在代码的第一行,但我在代码的第一行中只有一个 php 开始标记:
<?php
是否有显示这些字符并修复它的程序?我也尝试了 phpcbf 命令,但它似乎不起作用:
【问题讨论】:
标签: php command-line command-prompt codesniffer
我假设您使用的是 Windows。 您的文件使用 unix lineendings ("\n") Windows 使用 ("\r\n")
您可以使用
转换命令行中的换行符type input_filename | more /P > output_filename
或使用notepad++之类的编辑器打开您的源文件并将行尾更改为windows
【讨论】:
PHP 代码嗅探器应该检查它所运行的操作系统的默认 EOL,因此对于 Linux,EOL 将是 \n,对于 Windows 是 \r\n。
很可能发生的情况是,您正在检查的文件之一对于当前操作系统有错误或混合的 EOL(这就是发生在我身上的事情)。这可能并不明显,因为文件编辑器通常会对此进行补偿。
不过,许多编辑器确实有一个功能可以告诉您文件的 EOL 是什么,甚至可以重置它。 Windows 上的 Notepad++ 有这个来自编辑菜单。在linux上,使用file命令进行检测,根据需要使用dos2unix或unix2dos。
【讨论】: