升级lnmp步骤
注意:PHP版本升级到php7+有风险,注意程序的兼容性!
一、备份程序、数据库!
二、备份php.ini、php已加载的组件、msyql的var目录、mysql配置文件my.cnf、nginx的vhost和nginx.cnf和nginx日志;(查看原php.ini安装了哪些组件,禁用了哪些函数)
三、看一下vhost下有哪些站点及站点的配置;
四、卸载原lnmp;
五、安装新lnmp;
六、wk需要使用的函数;
七、检查服务器上的定时任务;
八、查看mysql有哪些用户及其权限;
注意:
1、lnmp1.9默认的伪静态规则多一个斜杠(/);
2、如果有伪静态,注意PHP7以上版本不支持preg_replace /e修正符;
3、lnmp1.1的upgrade_php.sh升级php时会连外网,不用使用默认的upgrade_php.sh文件升级;
4、有些系统升级mysql后会报错:Expression #1 of ORDER BY clause is not in SELECT list, references column 'xxxx' which is not in SELECT list; this is incompatible with DISTINCT
原因:mysql5.7.5及以上版本将sql_mode的ONLY_FULL_GROUP_BY模式默认设置为打开状态,会导致一些错误
解决办法:修改/etc/my.cnf,文件底部追加:
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
参考资料:https://www.cnblogs.com/day959/p/15499196.html
5、关闭mysql大小写敏感,修改/etc/my.cnf,在最后一行加上"lower_case_table_names=1"
6、升级PHP后,导出excel报错,解决办法:
打开PHPExcel\Calculation\Functions.php文件,
elseif(is_array($value)) {
return 64;
break;//去除该break即可
} )
centos6.5安装lnmp1.8
1、确定/etc/yum.repos.d/下镜像源是否正确
(1)CentOS-Base.repo改成阿里云的vault源
(2)epel源如果不正确就删除
yum clean all && yum makecache
2、安装libicu-devel,执行命令yum install libicu-devel
3、卸载老版lnmp,安装lnmp1.8