我有一个使用Doctrine 1的应用程序,我通过
相同的代码在另一台计算机上运行良好。所有内容几乎都相同 - 在两者上都是MySQL 5.6.12,PHP 5.3.15。有什么想法应该看哪里?
致命错误:Doctrine_Connection_Mysql_Exception异常抛出消息“SQLSTATE [22007]:无效的日期时间格式:第1行的'nextrun'列的1292个不正确的日期时间值:'2013-07-12T03:00:00 + 07:00'”在library / Doctrine / Connection.php:1083
更新
好的,在StackOverflow社区的帮助下,我终于解决了它。问题出在
new Zend_Date->getIso()
为对象生成update_datetime
字段。多年来一直运行良好,但现在我换了新笔记本电脑,Doctrine尝试将DATETIME
字段作为字符串"2013-07-12T03:00:00 + 07:00"
插入,而不是正常的MySQL datetime格式"2013-07-12 00:00:00"
,这完全奇怪。相同的代码在另一台计算机上运行良好。所有内容几乎都相同 - 在两者上都是MySQL 5.6.12,PHP 5.3.15。有什么想法应该看哪里?
致命错误:Doctrine_Connection_Mysql_Exception异常抛出消息“SQLSTATE [22007]:无效的日期时间格式:第1行的'nextrun'列的1292个不正确的日期时间值:'2013-07-12T03:00:00 + 07:00'”在library / Doctrine / Connection.php:1083
更新
好的,在StackOverflow社区的帮助下,我终于解决了它。问题出在
sql_mode
变量中的STRICT_TRANS_TABLES
。但是在/etc/my.cnf
中更改它似乎还不够,所以我必须运行mysql -uroot
并键入以下内容:
set sql_mode = NO_ENGINE_SUBSTITUTION; set global sql_mode = NO_ENGINE_SUBSTITUTION;
从而删除STRICT_TRANS_TABLES
更新2
如何永久摆脱STRICT? 如何在MySQL中摆脱严格的SQL模式
php.ini
配置。有些东西告诉我,您在其中一台机器上设置了默认时区,而在另一台机器上没有设置。 - Phildate.timezone
- 相同。还有其他想法吗? - firedev