我有两个服务器,两个相同的设置,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
答案 0 :(得分:1)
这可能是一些事情。一个尝试可能是SQL模式。尝试在两台服务器上运行它,看看是否有不同之处:
SELECT @@sql_mode;
我也会尝试直接在数据库上进行查询,而不是通过ActiveRecord,只是为了避免来自中间件的任何潜在的怪异。