我有一个简单的 PHP 脚本,如下所示,在使用 PHP 7.2.24 的 RHEL 8 服务器上运行:
<?php
// Establish Connection
include_once("db_connect.php");
// Perform any query
$sql = "SELECT now()";
// The following (mysqli_query call) should do nothing, yet echoes two line feeds
$result = mysqli_query($conn,$sql);
echo "TEST";
?>
如果我检索此脚本输出(例如使用 WGET)直接到文件中,我的文件内容(十六进制转储)为:
0a0a 5445 5354
我没有回显“TEST”之前的这两个换行符,并且仅当执行 mysqli_query 时才会插入它们。 (如果我注释掉该行,我的文件看起来像预期的 5445 5354
)
我错过了什么?对于这种行为是否有某种控制,而我的两个系统之间的设置显然不同?谢谢!
db_connect.php
。请确保该文件中的结束
?>
标记后没有任何行结尾,或者更好的是完全删除结束标记。?>
结束标记(包括换行符!)之后的任何内容都将被视为输出,并且可以通过
include
泄漏到其他文件中。