php - 我是在做梦还是回车会​​阻止 PHP 版本看到代码行?

标签 php carriage-return

我最近发现,行尾只有“CR”而不是“CRLF”或“LF”的代码行会导致 PHP 行为异常,即将 2 行视为一行,忽略 CR 或者,更准确地说,将其解释为:回车而不是换行。

我以前从未遇到过这个问题,但最近,我发现当我按“Enter”键移动到新行时,notepad++ 有时只会放一个 CR...这会导致脚本表现不佳。

例如,这个 Hello World 脚本在使用 LF 或 CRLF 设置行时工作正常,但仅使用 CR 时崩溃(至少我在 peer1 和 hostgator 服务器上复制了这个问题——其他人有不同的经历吗?) ...

<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.cnn.com/" );
?>

我得到这个错误:

fatal error :在第 1 行调用/home/bernatch/public_html/test-redir-cr.php 中未定义的函数 phpheader()

显然,PHP 看到了 <?php代码和Header函数在同一行...

我的问题是: a) 有没有办法强制 PHP 将单个 CR 解释为真正不同的行

b) 有没有办法强制 notepad++ 在我按 Enter 时输入 CRLF 或 LF?

最佳答案

Mac 使用 CR。 Linux 使用 LF。 Windows 使用 CR-LF,因此 Windows 操作系统不在 CR 后插入 LF 会很奇怪。也许我在这里遗漏了一些东西。

在 Windows 上编辑 -> 在 Linux 上查看 = OK

在 Windows 上编辑 -> 在 Mac 上查看 = 确定

所以我猜它可能是您的 FTP 客户端。确保以 ASCII 而非二进制格式上传纯文本文件。

关于php - 我是在做梦还是回车会​​阻止 PHP 版本看到代码行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218538/

相关文章:

unicode - 如何在 Rust 中检查字符是否为 Unicode 换行符(不仅是 ASCII)?

python - 如何在 Jupyter 笔记本中打印时重新定位光标

php - 什么格式是 5/6 位时间戳,我该如何转换?

Paypal IPN 的 PHP 类

php - 是否可以跳过 PHP 代码?

php - 是否可以在 PHP 中定义接口(interface) Singleton?

php - 使用 apache 通过 php 执行 shell 脚本时,当前用户和 env 用户不匹配

Python 将回车符视为换行符。我能做什么呢?

bash - 为什么 shell 脚本在其他地方运行相同的代码时会出现语法错误?

C语言 : How do I ignore carriage return and line feed when reading from text file?