- 博客(85)
- 资源 (1)
- 收藏
- 关注
原创 企业微信+esaywechat 扫码授权登录
企业微信+esaywechat 扫码授权登录相关相关这里用的是 Yii2 框架。安装easywechat: composer require overtrue/wechat:~4.0 -vvvwechat官方文档:https://work.weixin.qq.com/api/doc/90000/90135/90988easywechat官网文档: https://www.easywechat.com/docs/master/wework/oauth这里主要用了两个方法,一个是扫码登录,另一个
2020-08-18 16:33:18
3284
原创 elasticsearch聚合后多字段综合排序
一.聚合后排序1.内置排序聚合内置排序共有_count、_term、_key三种,聚合后默认会根据 _count 降序排列。_count:按文档数排序。对 terms 、 histogram 、 date_histogram 有效。_term:按词项的字符串值的字母顺序排序,只在 terms 内使用。_key:按每个桶的键值数值排序(理论上与 _term 类似),只在 histog...
2020-01-10 11:19:42
10816
4
原创 elasticsearch高可用集群的索引分片等设置
一、集群&索引&分片关系:一个es高可用集群可由N个分布在不同机器上的多个节点组成,每个节点包含N个索引,同时每个索引可以分为多个shard分片,关系图:es对加入集群的节点会自动分配副本shard,同时也允许手动修改配置二、配置修改:1.创建&获取索引信息:PUT http://localhost:9200/my_index/{"index:{"n...
2019-08-02 11:43:58
815
原创 win+elasticsearch配置单机多节点伪集群
一.软件下载:es官方下载地址:https://www.elastic.co/downloads/elasticsearch所需管理插件,如es-head:https://github.com/mobz/elasticsearch-head或者kibana:https://www.elastic.co/downloads/kibana注:es-head要选择和es相对应的版本,我本地装...
2019-07-26 15:21:10
575
原创 elasticsearch:用索引别名更新索引
前言:根据官方文档:如果改变现有索引字段或者添加新的分析器,就会影响现有索引的数据,从而导致搜索不能正常工作,那么怎么能做不影响现有搜索呢,答案就是-------使用索引别名。索引别名,能在零停机情况下从旧索引切换到新索引,流如下:在项目中应当使用索引别名my_index来进行查询操作,这样就能在任何时候很好的重建索引了。一些常见索引操作如下:1.创建索引:PUT htt...
2019-07-23 11:59:17
2158
原创 关于elasticsearch排序不准问题可能的解决方案
作为未使用过es新手,前两天接到排查搜索接口价格排序不准确的任务,紧锣密鼓的配好本地环境开始调试,看来看去一句排序:$params['body']['sort']['goods_price'] = ['order' => "asc"];也查了官方文档,没毛病啊。无奈强制转换字段类型,又是打印各种参数,折腾好久,还是没有用!下班吃饭时候想到mapping的数据类型,第二天回到公...
2019-06-12 10:23:22
7941
原创 php运行流程&底层原理
运行流程一次web访问主要有web服务器(Apache、Nginx、IIS等)+php engine+数据库(mysql等)参与, 流程如下:第一步:用户在浏览器理输入url,提交请求给web服务器;第二步:web服务器接收请求后,判断并查找相应的php文件,然后将php文件发送给php engine;第三步:php engine解析php代码,翻译成一个个指令opcode,交由z...
2019-03-08 15:54:37
563
原创 linux后台运行进程
为了使关闭shell终端后程序能够正常后台运行,查了下有以下方式:1.nohup... & nohup python CoreMain.py cnf/online.cnf&这样就可以关闭shell运行了。2.其他如setsidsetsid ping www.abc.com...
2018-04-27 12:12:14
516
原创 js,声明数组传递一个整数元素值为空问题
当创建一个数组传递整数值:var test = Array(1,2,3,4,5),没有问题; 如果只传递一个整数值var test = Array(2),打印结果为空,,查看一下手册发现此时的“2”代表数组容量为2,基础不牢,两种赋值方法如下:
2018-04-23 10:01:36
1595
原创 谷歌浏览器不兼容select的option里onclick事件的解决方案
代码里在option 里加了onclick事件属性,平时多在firefox浏览器下开发,测试时发现以谷歌为内核的浏览器onclick事件无作用,查了下资料,在select里面用onchange就好了,如下:<select onchange="return selected(this.options[this.selectedIndex].value)"></select>
2017-08-26 18:58:25
7393
原创 ecshop设置shop_url
ecshop的ectouch本地安装开发后放到服务器上图片全都不显示了,重新在服务器上上传商品图也不显示,数据库里面存的是相对路径,无奈,查找了一圈原来是数据表touch_shop_config里的shop_url设置问题,修改为自己的host,OK
2017-04-27 18:38:14
1673
原创 win下使用thrift生成gen-php文件代码
前言:Thrift是Facebook下开源RPC(远程过程调用,Remote Procedure Call)框架,常用于跨计算机、跨语言之间的程序接口调用。 生成gen-php文件步骤:1.下载thrift.exe文件,放到任意目录下载地址:http://apache.fayea.com/thrift/0.10.0/ 文件放到目录:D:/thrift/ 通过查看版本检查是否有问题:thrift
2017-04-20 11:35:25
2459
原创 mysql添加新用户,限制用户访问权限
项目功能外包,外包团队需要连接服务器mysql数据库,服务器上有多个数据库表,把所有库表显示出去不太合适,查了下资料可以用grant设置用户权限,具体如下:GRANT select ON hyy.user TO hyy_user@'%' IDENTIFIED BY 'hyy123';select:设置只读权限; hyy:数据库名; user:表名; hyy_user:用户名; hyy123:
2017-04-12 15:54:00
2247
原创 mysql错误:your password has expired..
最近准备用navicat操作mysql时,提示“your password has expired..”这样的错误,查了一下原来是mysql采用了密码过期策略,默认是90天过期,解决方式如下:1.打开mysql配置文件mysql.ini,在[mysqld]模块添加:default_password_lifetime=0 0代表永不过期、可以根据自己需要设置过期天数,如30、90。2.ALTER重置
2017-03-17 09:48:21
3677
1
原创 php超全局变量
超全局变量有:1.$GLOBALS2.$_SERVER3.$REQUEST4.$_GET5.$_POST6.$_SESSION7.$_COOKIE8.$_FILES9.$_ENV$_SERVER参数:$_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。$_SERVER['GATEWAY_INTERFACE'] 返回服务器使用的 CGI 规范的版本。$_SER
2016-11-22 23:00:13
501
原创 centos7安装memcached及配置等
linux下配置使用memcache功能,比win下稍微复杂一点,主要包括:安装libevent函数库、安装memcached、配置php扩展。一、安装libevent函数库 libevent各版本地址:http://libevent.org/old-releases.html 在此我安装当前最稳定版本:libevent-2.0.21 1.下载:#wget https://github.com
2016-11-01 20:30:19
8041
原创 win64+php+memcache安装配置
若想使用memache功能,要做两件事:1.安装memached服务端;2.php.ini添加php_memcache扩展。一、服务器端软件下载安装由于memcache和php版本、系统位数(32位or64位)有很大关系,请根据自己的系统环境情况下载相应的软件
2016-10-31 22:59:02
542
原创 centos把http、mysql等加入开机启动
有时因为各种原因,需要重启服务器,重启后发现网站打不开了,八成是服务没有开启,整理了下把服务加入开机启动的命令,如下: 1.查看开机启动项:chkconfig --list这里看到httpd和mysqld未设置开机自动启动2.设置开机启动:chkconfig httpd on再次查看结果:3.如果在列表里找不到要启动的服务,则手动添加上去:chkconfig --add sveserve4.取消开
2016-10-14 22:48:36
7344
原创 php面对对象之延迟静态绑定:static关键字
先看一段代码: abstract class domainObject{ static $name = 'domain'; public static function create(){ return self::$name; } } class document extends domainObject{ static $name
2016-10-13 22:51:43
503
原创 php中的session设置
一、php中session默认过期时间是1440S,超过这个时间没有页面刷新或者用户关闭了浏览器,session就会失效。 二、session文件存储在服务器端,通过保存在用户端的SessionId与服务器进行交互,session的配置文件是php.ini,相关参数如下: 1.session.use_cookies = 1,默认1,代表SessionId通过cookie来传递,否则会用Query
2016-10-11 16:26:49
3076
原创 centos7 使用iptables配置防火墙
centos7 默认是FirewallD 提供支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具,利用FirewallD开启80端口操作上一篇已经介绍了,接下来介绍使用iptables来配置防火墙规则:yum install iptables-servicessystemctl mask firewalld.servicesystemctl enable iptab
2016-10-05 23:52:39
4323
转载 centos7 Firewall防火墙开启80端口
开启80端口firewall-cmd --zone=public --add-port=80/tcp --permanent出现success表明添加成功命令含义:–zone #作用域–add-port=80/tcp #添加端口,格式为:端口/通讯协议–permanent #永久生效,没有此参数重启后失效重启防火墙systemctl restart firewalld.service1、运行、
2016-10-05 15:19:32
15189
原创 centos文件名乱码导致不能直接删除文件
文件上传到centos服务器上后,发现文件名出现乱码,解决完乱码问题,想要用ftp工具删除乱码文件,发现删除不了,提示错误:no such file,查了下资料,两行两行命令可直接删除:1.切换到要删除的目录,查看文件的inode号,# ls -li2.执行删除命令:find ./ -inum 1443217 -exec rm -rf {} \;
2016-09-28 15:48:38
2927
原创 centos下svn的搭建
详细步骤如下: 1.安装:#yum install subversion 2.创建目录:mkdir -p /var/svn/svndata 3.创建版本库:svnadmin create /var/svn/svndata 4.进入 /var/svn/svndata/conf,该目录下有: authz 是权限控制文件 passwd是帐号密码文件 svnserve.conf SVN服务配置
2016-08-22 11:18:49
454
原创 centos7+php+mysql5.6环境搭建
安装前准备:shell工具:Xshell,远程数据库连接工具:navicat,ftp工具:FlashFXP 一、安装软件 1.Apache安装名命令:yum install httpd 2.php安装命令:yum install php
2016-08-15 23:06:47
2603
原创 mysql全文索引使用方法
一、设置全文索引: 添加:ALTER TABLE table_name ADD FULLTEXT ( column); 删除:DROP INDEX index_name ON table_name; 注:mysql5.6版本以下只有myisam存储引擎支持全文索引,mysql5.6以上版本myisam和innodb都支持全文索引,两者性能有兴趣了可以比较一下。
2016-08-11 15:06:33
9282
原创 改写codeigniter分页参数uri_segment
背景:codeigniter作为一轻量级框架,功能强大,但是有些地方显得不尽人意,比如分页参数uri_segment翻页时自动附加在url最后,但是如果用get提交的话,就不能自动获取uri_segment了,于是决定修改一下,主要代码如下。
2016-08-11 14:14:51
2218
1
原创 mysql之explain用法说明
EXPLAIN tbl_name –得出一个表的字段结构等。 EXPLAIN [EXTENDED] SELECT select_options–主要是给出相关的一些索引信息。 例:mysql> explain select * from student; +—-+————-+——-+——+—————+——+———+——+——+——-+ | id | select_type | table
2016-08-09 14:28:02
546
原创 有关mysql的innodb_flush_log_at_trx_commit参数
一、参数解释0:log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作。1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。2:每次事务提交时MySQL都会把log buffer的数据写入lo
2016-08-09 11:19:39
69374
1
原创 用pathinfo()+$_FILES获取文件上传时的一些信息
说明:最近用php在做手机端的文件上传时候,判断文件类型,发现ios系统不能用$_FILES['files']['type']获取MIME 类型,其他Android,pc端都能正常获取MIME 类型,无奈,估计是系统的原因吧,问了别人,于是改用pathinfo()获取文件的后缀,完成了上传。主要代码如下:$allow_type = array('png','jpg','gif','jpeg
2016-08-08 16:03:08
2026
原创 javascript实现图片预览
背景:form中,用户在选择图片后能够预览所选择的图片,前提是不用ajax或者点击上传按钮。主要代码:/*** 获取图片url*/function getUrl(fileId) { var url; if (navigator.userAgent.indexOf("MSIE")>=1) { // IE url = document.getElementById(sourc
2016-08-04 16:35:16
607
转载 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。 由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几秒,相信这么高的查询延时,任何用户都会抓狂
2016-07-02 14:20:17
528
原创 一些mysql相关测试
没事时候做了些mysql相关测试,结果总结如下:1.从三个数组中随机取值组成字符串,循环十万条插入表中用时80S左右。ps:每个数组大概有40个值。2.没有加索引从插入的50w+条记录中模糊查询关键字,用时2.6S左右。ps:比预想的好一点,大概是数据记录有规律,不能代表实际情况。3.加上普通索引后,模糊查询,用时2.3S左右。ps:这里加的普通索引并没有明显提升查询速
2016-06-23 15:58:30
349
原创 mysql的alter命令
1.增加字段ALTER TABLE student ADD grade TINYINT DEFAULT '0' COMMENT '学生名' AFTER student_name;2.修改字段为自增ALTER TABLE student MODIFY student_id INT AUTO_INCREMENT;3.删除字段ALTER TABLE student D
2016-06-17 23:57:23
656
转载 memcache和memcached区别
在写这篇文章之前一直对memcache 、memcached模糊,相差一个字母,特此总结下:Memcache是什么?Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。Mem
2016-04-22 14:12:00
487
原创 php+coreseek/sphinx之中文全文搜索平台搭建
1.简介 sphinx是一款高性能全文搜索软件包,由俄罗斯人开发,sphinx本身是可以支持中文搜索的,只是不支持中文分词,需要安装中文分词插件,coreseek就是一个打包了mmseg中文分词插件和sphinx源码的安装包。2.安装 coreseek下载地址:http://www.coreseek.cn/news/7/52/
2016-04-21 13:54:52
1829
原创 Codeigniter设置伪静态出现404错误
1.修改apache配置文件httpd.confa.打开rewrite模块,搜索“LoadModule rewrite_module”去掉前面的“#”,保存。 b.替换httpd.conf文件里的AllowOverride None为AllowOverride all(wampserver里共有三处),保存并重启apache。2.新建.htaccess文件,写rewrite规则,具体方法可自行百度
2016-04-15 17:53:01
3631
原创 mysql防注入函数
1.addslashes(): 函数返回在预定义字符之前添加反斜杠的字符串。预定义的字符有: 单引号(') 双引号(") 反斜杠(\) NULLeg:if(!get_magic_quotes_gpc()){ addslashes($str);}2.mysql_real_escape_string(): 函数转义 SQL 语句中使用的字符串中的特殊字符。
2016-03-10 12:25:25
2707
转载 mysql中的if条件语句用法
· IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 0 and expr1 NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF()的返回值为数字值或字符串值,具体情况视其所在语境而定。mysql> SELECT IF(1>2,2,3); -> 3mysql> SELECT IF(1','no');
2016-02-01 15:50:44
7873
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人