命令行PHP截断日期("c")


Command-line PHP truncating date("c")

下面是一个shell脚本的PHP代码:

#!/usr/bin/php -q 
<?php
$user = get_current_user();
$line = date("c") . " - " . $user + "'r'n";
echo "---------------------'n";
echo "user => $user'n";
echo "---------------------'n";
echo "date('c') => " . date("c") . "'n";
echo "---------------------'n";
echo "date('Ymd') => " . date("Ymd") . "'n";
echo "---------------------'n";
echo "line => $line'n";
echo "---------------------'n";
echo date("c") . " - " . $user + "'n";
echo "---------------------'n";
echo date("c") . $user + "'n";
echo "---------------------'n";
echo date("c") . " - " . "'n";
echo "---------------------'n";
$ret = file_put_contents("/var/lib/foo/bar/test.txt", $line, FILE_APPEND);
echo "file_put_contents => $ret'n";
?>

当我运行它时,我得到这样的输出:

roffle:/var/lib/foo/bar # php Test.php
---------------------
user => wwwrun
---------------------
date('c') => 2014-07-27T16:39:34-04:00
---------------------
date('Ymd') => 20140727
---------------------
line => 2014
---------------------
2014---------------------
2014---------------------
2014-07-27T16:39:34-04:00 -
---------------------
file_put_contents => 4
roffle:/var/lib/foo/bar #

为什么$line与前两次调用echo date("c")一起被截断,为什么第三次调用date("c")是可以的?

看起来你把+和。