doutong7216 2014-08-13 14:31
浏览 72
已采纳

Activerecord时区格式错误

I have two servers, both identical setups, php 5.5, mysql 5.6, apache 2.9, both have the same timezone set in php.ini.

My Linode VPS is the server with the issue, my other dedicated server it works fine.

When using the T for timezone it has problems.

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

is the line of code that does not work on the linode, but works fine on the other server.

Here is the error output.

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条回答 默认 最新

  • douliangpo0128 2014-08-14 10:36
    关注

    This could be a number of things. One to try could be the SQL mode. Try running this on both servers and see if one differs:

    SELECT @@sql_mode;

    I would also try just doing the query directly on the database, rather than through ActiveRecord, just to avoid any potential weirdness from middleware.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?