手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

Yii2 PJAX的URL,微信签名错误

因为用了pjax,所以URL在请求的时候都是被自动加了?pjax-container=xxxxx,但请求完pjax后,location的pushState又会去掉这个pjax-container。所以要解决签名问题,其实就是在签名的时候把pjax-container去掉

因此jssdk()->config(xxx)的时候,先在前面加入jssdk()->setUrl(Url::to([''],true))->config('')...问题解决!

就是这么简单!

 

redis 127.0.0.1和localhost的性能区别

 不多说上图

 
[2017-10-13 08:52:28]{"router":"site/test","process_time":1.05578303337,"include_files":110}
[2017-10-13 08:52:29]{"router":"site/test","process_time":1.65018391609,"include_files":110}
[2017-10-13 08:52:30]{"router":"site/test","process_time":2.24326276779,"include_files":110}
[2017-10-13 08:52:31]{"router":"site/test","process_time":2.83484601974,"include_files":110}
[2017-10-13 08:52:32]{"router":"site/test","process_time":3.45267605782,"include_files":110}
 
 
[2017-10-13 08:52:43]{"router":"site/test","process_time":0.045606136322,"include_files":110}
[2017-10-13 08:52:43]{"router":"site/test","process_time":0.0466020107269,"include_files":110}
[2017-10-13 08:52:44]{"router":"site/test","process_time":0.0419600009918,"include_files":110}
[2017-10-13 08:52:44]{"router":"site/test","process_time":0.0458340644836,"include_files":110}
[2017-10-13 08:52:44]{"router":"site/test","process_time":0.0436880588531,"include_files":110}
 
因为在框架里面,所以include_files就这么多(没办法,没开始opcache)
前5条是用的localhost后5条是127.0.0.1,瞅瞅,就是这样的区别!
 

mariadb 用navicat查看 乱码

navicat是个好软件,mariadb也是,不过,默认的mariadb在查看的时候可能会是乱码(特别是debian 9,默认没有mysql,只有mariadb了)

 
1、进入console,如果set names utf8,然后select能够看到正常的数据,这证明几件事,client有问题,字符串不对
2、如果是1所说的问题。那么修改my.cnf,修改[mysqld] [mysql] [client]中的数据
XML/HTML代码
  1. [mysqld]下增加character-set-server=utf8  
  2. [client]下增加default-character-set=utf8  
  3. [mysql] 下增加default-character-set=utf8  
如果还是无效。。则尝试在mysqld下再增加:
XML/HTML代码(与上面的有一行重复)
  1. [mysqld]   
  2. init_connect='SET collation_connection = utf8_unicode_ci'   
  3. init_connect='SET NAMES utf8'   
  4. character-set-server=utf8   
  5. collation-server=utf8_unicode_ci   
  6. skip-character-set-client-handshake  
 
参考 :http://blog.csdn.net/fzq1988215/article/details/48808001
 

dcloud更新失败的可能原因

dcloud更新失败有几个原因:

 

1、manifest.json在打包的时候不对
2、checkversion的时候用数字和字符串比较
3、版本小于当前版本,但判断的时候没判断好
4、wgt文件不是zip压缩的
5、网络原因,没下载好文件
 
基于以上几个原因。除了网络原因。其他可以一试(下次我试一下直接打包成zip,然后改名成wgt试一下看看)
 

将原数据库从latin1改为utf8

 原来的数据库是N年前的,默认字符集是latin1,但是有一些旧代码中,连接参数写的是UTF8,于是就这样。。。DB字符集为latin1,连接UTF8,存到数据库也是UTF8,wj但查看的时候显示是???

为了标准统一,于是使用mysqldump -uxx -p database a b c d e > dump.sql,将部分表先导出来

然后修改导出sql的charset=latin1;改为charset=utf8;

 

至此,操作完成。简单粗暴 

 

-------EOF--

deeka说,如果有200G呢。目前我是停机处理的。因为要处理的数据也不是很多。如果不是因为升级换库的时候出现不能访问我也不会这么做。

但好象也没有特别好的方案。因为直接alter的时候也是各种不正常。才dump的