我正在调试一个运行几个SQL查询并通过电子邮件发送一组用户的PHP脚本。我确信这是一个非常基本的东西,但每次我尝试回显,打印或print_r时,它都不会在运行脚本时出现。
所以说我在剧本中有这个:
print("This should print");
echo "on the command line";
当我通过命令行php script.php
运行脚本时,它在运行脚本时实际上并没有向命令行打印任何内容。
有没有办法让PHP打印到控制台?我觉得我在这里缺少一些非常基本的东西。
答案 0 :(得分:2)
答案 1 :(得分:2)
我知道它已经过时了,但我会发布我自己的解决方案以防万一有人遇到类似的情况。我有一个问题,当DSN配置不正确并且脚本卡住很长时间(不确定多长时间,从不等待它终止时)时,遗留命令行PHP脚本不会打印或回显终端任何内容本身)。将ob_end_flush()放入脚本的输入行后,输出返回到终端。所以事实证明所有输出都是缓冲的,因为脚本在某个时刻停滞不前,输出保持缓冲,所以永远不会去终端。
答案 2 :(得分:1)
以下代码适用于我。
<?php
print("This should print");
echo "on the command line";
?>
带标签。
答案 3 :(得分:0)
一个好的方法可能是:
([[21.8974003, 83.39496319999999], [40.2671941, -86.1349019], [10.4805937, -66.90360629999999]], [[50.719164, -1.880769], [37.0903748, -94.5134078], [44.9862701, -93.39398279999999], [47.6062095, -122.3320708], [-27.4697707, 153.0251235], [20.593684, 78.96288]], [[43.2648545, -79.9492978], [39.1767262, -94.4867155], [33.7489954, -84.3879824], [39.7392358, -104.990251], [38.8761634, -77.0337777], [41.0082376, 28.9783589], [36.0753128, -95.95646269999999], [36.0595387, -95.90582429999999], [29.7604267, -95.3698028], [21.3014947, 106.6291304], [21.3014947, 106.6291304], [-16.6868982, -49.2648114], [10.4805937, -66.90360629999999], [45.037149, -92.825929], [33.760818, -78.967556], [45.49340369999999, -73.82329179999999], [39.750545, 37.0150217]])
它将把您呼叫的每条线路输出到您的终端。只需使用:
function log($message)
{
$message = date("H:i:s") . " - $message - ".PHP_EOL;
print($message);
flush();
ob_flush();
}