升级服务器环境到nginx1.10.1+php7.0.8+mysql5.7.13
原来的环境是ngnix0.9+mysql5.5+php5.3,虽然能满足稳定的生产环境,但是最新的版本已经差别比较大,同时也比较稳定,决定把服务器的环境升级下,也方便自己实践心得技术.
具体怎么升级的就不说了,我这里说下升级后遇到的几个小问题
ngingx没有遇到什么问题,平滑升级.
PHP这边主要是php7舍弃了mysql相关函数 ,替换成mysqli系列的就可以了,还有老版本的类名相同的构造函数这个虽然是老早的,但是再ci框架中报错,改成construct就可以了.
mysql这边查询group_by 这条语句报错
ERROR 1055 (42000): Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'www.sto.com.cn.sto_secmap.sec_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因是默认的sql_mode如下
mysql> select @@sql_mode; +-------------------------------------------------------------------------------------------------------------------------------------------+ | @@sql_mode | +-------------------------------------------------------------------------------------------------------------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +-------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
sql_mode 里面默认开启ONLY_FULL_GROUP_BY,这个参数,把这个禁用掉就可以了
官方文档:
http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by
解决方案
http://stackoverflow.com/questions/23921117/disable-only-full-group-by
其他问题目前没有发现,具体效果如何,等用一段时间再来继续