Mysql5.7和laravel5.7的Json字段类型问题

  • laravel 5.7
  • mysql 5.7
  • php 7.2

当我使用 laravel的Eloquent模型 查询含有json类型字段的数据时,有报错如下:

SQLSTATE[HY000]: General error: 2036

这个是因为json字段需要php的mysqlnd扩展来支持,而不是使用默认的mysql扩展

我按照以下步骤解决了这个问题:

#更换对应php版本的mysql扩展到mysqlnd,此处我的php版本是7.2
sudo yum remove php72w-mysql
sudo yum install php72w-mysqlnd

#如果使用apache,重启httpd模块
sudo service httpd restart
#如果使用nginx,重启php-fpm
sudo service php-fpm restart

看起来问题与此错误有关:https://bugs.php.net/bug.php?id=70384
有关差异的更多信息,请参见此处:http://php.net/manual/en/mysqlinfo.library.choosing.php

希望对大家有帮助~


  目录