我正在尝试创建一个包含当前服务器时间的字符串,但是在执行连接操作时出现错误。
以下工作正常:
$date = new DateTime('now', new DateTimezone('Africa/Johannesburg'));
echo $date->format('Y-m-d H:i:s');
$message = 'There is a new event occurred ';
echo $message;
但是当我尝试将消息和格式化日期连接在一起时,我收到HTTP 500错误。
$date = new DateTime('now', new DateTimezone('Africa/Johannesburg'));
echo $date->format('Y-m-d H:i:s');
$message = 'There is a new event occurred at '.date->format('Y-m-d H:i:s');
echo $message;
我不理解什么?
答案 0 :(得分:0)
正如你所知,第二个例子应该是:
$message = 'There is a new event occurred at '. $date->format('Y-m-d H:i:s');
根据你的说法,你已经挣扎了两个小时,你可能只有一个空白的屏幕或“内部服务器错误”类型的页面,它没有给你任何细节。
调试这类问题:
1)查找Web服务器的错误日志(例如error_log)。你会在那里找到像这样的东西:
[Thu Mar 31 19:28:24 2016] [error] [client 10.42.88.12] PHP Parse error:
syntax error, unexpected T_OBJECT_OPERATOR in /var/www/htdocs/datetest.php on line 9
2)找到控制PHP安装的php.ini文件并设置值:
display_errors = On
这将直接在您的网络浏览器中显示相同的“解析错误:”。您应该不为生产服务器设置该设置,但在开发过程中它非常有用。