Activerecord时区格式错误


Activerecord Timezone Incorrect Format

我有两个服务器,都是相同的设置,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

这可能是很多事情。可以尝试使用SQL模式。试着在两台服务器上运行这个命令,看看是否有一个不同:

SELECT @@sql_mode;

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