mac 上面把 mysql 5.5 升级到5.7, drupal7出现的一个sql-mode问题

mac 上面把 mysql 5.5 升级到5.7, drupal出现的一个sql-mode问题。

主要是5.7默认的sql-mode的问题 把连接session的sql-mode回退到mysql5.5即可。

按下面的diff 修改相应的文件即可。


diff --git a/includes/database/mysql/database.inc b/includes/database/mysql/database.inc
index 0b84f27..d48b500 100755
--- a/includes/database/mysql/database.inc
+++ b/includes/database/mysql/database.inc
@@ -76,7 +76,8 @@ class DatabaseConnection_mysql extends DatabaseConnection {
       'init_commands' => array(),
     );
     $connection_options['init_commands'] += array(
-      'sql_mode' => "SET sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'",
+//      'sql_mode' => "SET sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'",
+      'sql_mode' => "SET sql_mode = ''",
     );
     // Set connection options.
     $this->exec(implode('; ', $connection_options['init_commands']));

尝试过在my.cnf上面加

[mysqld]
sql_mode = ""
skip-grant-tables
...

但不知为什么不生效,只能临时修改drupal的内核文件了。