开发过程中遇到的一个问题,PHP版本升级到了5.6.16之后出现Error 2306这个问题,所以记录一下。

前言

查了google基本都是在说是由于php不支持mysql json字段导致的,但是php更新日志中明确说明在5.6.16中已经解决这个问题。但是本机还是会出现2306这个错误。

解决方法

以laravel为例

在数据库连接的时候加入如下参数

config/database.php

数据库连接中option参数加入:


                PDO::ATTR_CASE => PDO::CASE_LOWER,
                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
                PDO::ATTR_STRINGIFY_FETCHES => true,
                PDO::ATTR_EMULATE_PREPARES => true,