被这个烂问题折磨的死去活来,同样一段代码 <?php echo <<<END ssdsdad END; ?> 在文件A中可以正确执行,在文件B中不能执行 报错 PHP Parse error: syntax error, unexpected $end in ....... 查资料是因为第二个END附近有非法的符号导致的,找啊找,找啊找,发现只有一个换行符 又找资料发现 MAC和DOC系统中换行符好像不太一样 php会根据系统确定换行符符号 查看能正确运行的那个文件 是Dos\Windows 不能运行的是 Macintosh 修改不能运行的文件格式为Macintosh 尼玛 终于正确运行了 然后又发现一个问题 服务器是linux系统 文件是 Dos\Windows 系统和文件的格式不一样 但没有报错 猜想是因为UNIX和 Dos\Windows 中换行符是同一个符号 实验验证不一样 看下图 具体原理求大神 换行符在各系统中的符号 MAC 你妹~ 坑爹货~ 来源: oschina 链接: https://my.oschina.net/u/273372/blog/95172