Activerecord时区格式错误

时间:2014-08-13 14:31:30

标签: php mysql activerecord linode

我有两个服务器,两个相同的设置,php 5.5,mysql 5.6,apache 2.9,都在php.ini中设置相同的时区。

我的Linode VPS是问题的服务器,我的其他专用服务器工作正常。

当使用T作为时区时,它有问题。

return $datetime->format('Y-m-d H:i:s T');

是在linode上不起作用的代码行,但在另一台服务器上工作正常。

这是错误输出。

exception 'ActiveRecord\DatabaseException' with message '22007, 1292, Incorrect datetime value: '2014-08-12 22:55:21 EDT' for column 'created_at' at row 1' in /home/chris/sites/domain.com/app/vendor/php-activerecord/lib/Connection.php:276

1 个答案:

答案 0 :(得分:1)

这可能是一些事情。一个尝试可能是SQL模式。尝试在两台服务器上运行它,看看是否有不同之处:

SELECT @@sql_mode;

我也会尝试直接在数据库上进行查询,而不是通过ActiveRecord,只是为了避免来自中间件的任何潜在的怪异。