自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 redis集群搭建(非常详细,适合新手)

redis集群搭建在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程下载redis压缩包,然后解压压缩文件;进入到解压缩后的redis文件目录(此时可以看到Makefile文件),编译redis源文件;把编译好的redis源文件安装到/usr/local/redis目录下,如果/local目录下没有redis目录,会自动新建redis目录;进入/usr/local/redis/bin目录,直接./redis-server启动redis(此时为前端启动redis);将red

2020-12-11 15:24:11 210

原创 mysql 报错This function has none of DETERMINISTIC解决方案

开启bin-log日志mysql报错:This function has none of DETERMINISTIC, NO SQL解决办法,创建存储过程时出错信息:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less

2020-08-03 12:05:20 329

原创 swoole 4.5.2 post 请求 body 为空 404

<html><body><h2>HTTP 404 Not Found</h2><hr><i>Powered by Swoole</i></body></html>解决办法:切换到 对应目录/**/config/autoload/server.php

2020-08-03 10:45:22 748

原创 mysql 字符集不相等 error code 1267

错误代码: 1267Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='解决方法:select * from user where mobile = in_mobile COLLATE utf8_unicode_ci;#或者select * from user where mobile COLLATE utf8_unicode_ci=

2020-08-03 10:36:12 871

原创 利用MySQL数据库来处理中英文取首字母排序

我们的联系人列表经常会有按照首字母排序的需求. 这个很方便, 很清晰, 如果不说性能如何, 就像让数据库来做呢? 其实MySQL是支持的.我们建立一个函数:DELIMITER $$CREATE FUNCTION firstPinyin(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8DETERMINISTICBEGINDECLARE V_RETURN VARCHAR(255);DECLARE V_BOOL INT DEFAULT 0

2020-07-10 14:37:34 439

原创 VirtualBox中ubuntu 16.04 自动挂载共享文件夹

VirtualBox中ubuntu 16.04 自动挂载共享文件夹点击VirtualBox中 设备->安装增强功能执行命令:sudo mount /dev/sr0 /media/cdrom/cd /media/cdromsudo ./VBoxLinuxAdditions.run#代码执行中出现问题解决问题#安装好后reboot执行命令sudo vim /e...

2020-02-06 11:09:34 358 1

原创 PHP 和 Web 端对称加密传输|JSEncrypt

前后端对称加密传输JSEncryptGit地址:https://github.com/travist/jsencrypt首先这个包 需要提前生成 公钥 私钥 和 依赖 openssl注意:​ 明文长度最大为公钥长度-11,假如我的公钥长度是128,那明文最长也就117​ 如果需要加密解密长文本,请看下一种前后端对称加解密方式​ 这个库是与openssl一起工作如何使用这个库:...

2018-09-23 22:20:01 1462

原创 通过Safari浏览器获取iOS设备UDID(设备唯一标识符)

科普:U D I D (Unique Device Identifier),唯一标示符,是iOS设备的一个唯一识别码,每台iOS设备都有一个独一无二的编码,UDID其实也是在设备量产的时候,生成随机的UUID写入到iOS设备硬件或者某一块存储器中,所以变成了固定的完全不会改变的一个标识,用来区别每一个唯一的iOS设备,包括 iPhones, iPads, 以及 iPod touches

2018-09-23 21:23:48 6756

原创 JS 原生实现 Safari 浏览器下的复制

JS 原生实现 Safari 浏览器下的复制var btn = document.querySelector('#btn');btn.addEventListener('click',function(){ var input = document.createElement('input'); input.setAttribute('readonly', 'readonly');...

2018-09-23 20:44:43 2493

原创 令人困惑的strtotime

经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌…这不, 刚刚就有人在微博上又问我:今天是2018-07-31 执行代码:date("Y-m-d",strtotime("-1 month"))怎么输出是2018-07-01?好的吧, 虽然这个...

2018-08-09 15:45:17 476

原创 PHP自动执行代码方法

PHP自动执行代码方法一点PHP博客分享关于PHP代码如何自动执行,我们通常做定时任务需要做到代码自动执行,往往会借助系统来实现,例如linux 的crontab或者windows的定时计划等等,现在分享一个纯代码实现的自动执行。下面是用到的一窜PHP的执行代码,效率不是很好,但是能保持任务自动执行。&lt;?php ignore_user_abort(); // 即...

2018-08-09 11:58:46 2925

原创 使用 Supervisor 管理 Laravel 队列进程

使用 Supervisor 管理 Laravel 队列进程Supervisor 是一个 Python 写的进程管理工具,有时一个进程需要在后台运行,并且意外挂掉后能够自动重启,就需要这么一个管理进程的工具。在 Laravel 开发中,也经常使用到队列监听,可以配合 Supervisor 来管理 Laravel 队列进程。Supervisor的安装使用 pip 工具进行安装:s...

2018-07-30 18:34:57 1404

原创 mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)

mysql表数据发生变化时,主动通知业务系统(mysql-udf-http)mysql-udf-http 是一款简单的MySQL用户自定义函数,具有http_get()、http_post()、http_put()、http_delete()四个函数,可以在MySQL数据库中利用HTTP协议进行REST相关操作,它的安装方式如下:tar zxvf mysql-udf-http-1.0.ta...

2018-05-16 14:49:35 5792 1

原创 php处理苹果支付接口回调

需求:公司开发了一个应用,接入了苹果支付(其实是AppStore内支付,因为是虚拟商品,所有不能直接接入app pay),客户端做好了,要PHP(我)对接支付回调接口,处理支付后的业务逻辑(修改订单状态,发送短信通知客户,修改用户购买的套餐)。接入AppStore内支付,一波三折,因为之前没有做过这方面的开发。看文档也全部是英文的,看的很费劲,乘着这次我把用php的经历写出来,写的不好的地方,请大家

2018-01-10 17:15:40 3116

原创 除指定区域外点击任何地方隐藏DIV

$('body').click(function(e) { var target = $(e.target); // 如果#overlay或者#btn下面还有子元素,可使用 // !target.is('#btn *') && !target.is('#overlay *') if(!target.is('#btn') && !target.is('#overlay'

2018-01-05 18:15:21 565

原创 请手动释放你的资源(Please release resources manually)

在PHP5.2以前, PHP使用引用计数(Reference count)来做资源管理, 当一个zval的引用计数为0的时候, 它就会被释放. 虽然存在循环引用(Cycle reference), 但这样的设计对于开发Web脚本来说, 没什么问题, 因为Web脚本的特点和它追求的目标就是执行时间短, 不会长期运行. 对于循环引用造成的资源泄露, 会在请求结束时释放掉. 也就是说, 请求结束时释放资源

2017-12-22 11:19:48 534 1

原创 PHP 让Json更懂中文(JSON_UNESCAPED_UNICODE)

我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上增加传输的数据量.echo json_encode("中文");//"\u4e2d\u6587"这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项:

2017-12-18 11:59:58 991

转载 PHP 如何设置一个严格30分钟过期的SESSION

第一种回答那么, 最常见的一种回答是: 设置Session的过期时间, 也就是session.gc_maxlifetime, 这种回答是不正确的, 原因如下:首先, 这个PHP是用一定的概率来运行session的gc的, 也就是session.gc_probability和session.gc_divisor(介绍参看 深入理解PHP原理之Session Gc的一个小概率Notice), 这个默认

2017-12-18 11:23:25 6902

原创 PHP 使用exit(-1)为什么得到255退出码

string exec ( string $command [, array &$output [, int &$return_var ]] )调用一个程序, 程序退出-1, 但是PHP得到的为什么是255?这个问题简单的说, 是因为exit或者main函数中的return, 只能使用0~255之间的值. -1 的unsigned值就是255.那么复杂点的说呢?我们知道, 在Shell中, 运行一个

2017-12-18 11:01:02 3165

原创 让PHP更快的提供文件下载

一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件.但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载. $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-str

2017-12-18 10:17:01 292

原创 字符截取 支持UTF8/GBK

function _strcut($string, $length,$dot = '...') { $string = trim($string); if($length && strlen($string) > $length) { //截断字符 $wordscut = '';

2017-12-14 11:43:22 344

原创 抓取分支

多人协作时,大家都会往master和dev分支上推送各自的修改。现在,模拟一个你的小伙伴,可以在另一台电脑(注意要把SSH Key添加到GitHub)或者同一台电脑的另一个目录下克隆:$ git clone [email protected]:michaelliao/learngit.gitCloning into 'learngit'...remote: Counting objects: 46,

2017-12-13 11:43:33 340

原创 分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下–no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git checkout -b devSwitched to a n

2017-12-13 11:10:04 344

原创 Git忽略规则及.gitignore规则不生效的解决办法

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略*.a # 忽略所有 .a 结尾的文件!lib.a # 但 lib.a 除外/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 su

2017-12-08 17:51:13 218

原创 python为什么需要reload(sys)后设置编码

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)python没办法处理非ascii编码的,此时需要自己设置python的默认编码,一般设置为ut

2017-12-06 18:16:29 503

原创 PHP 终端设备判断

function _is_mobile() { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.co

2017-12-04 18:32:32 668

原创 ubuntu 16.04 设置固定IP

配置固定IPsudo vim /etc/network/interfaces# 修改打开的文件 The primary network interface下的配置auto enp0s3# 设置静态方式iface enp0s3 inet static# 设置IP地址address 192.168.0.88# 设置子网掩码netmask 255.255.255.0# 设置网关地址g

2017-12-01 14:37:52 3273 3

原创 composer 报 zlib_decode(): data error

使用composer 安装lumen 项目,执行composer create-project laravel/lumen –prefer-dist,命令报 [ErrorException] zlib_decode(): data error 错。 解决办法:composer config -g repo.packagist composer https://packagist.phpco

2017-10-18 22:09:09 261

原创 mysql联合索引(复合索引)详解

联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c)。 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。两个或更多个列上的索引被称作复合索引。利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的

2017-10-12 21:15:41 1792

原创 linux nginx 301 跳转

修改 default 文件sudo vi /etc/nginx/sites-available/defaultserver {} 中增加如下代码location /www-vote4twix-mars-com-twix-pick-a-side-sweepstakes.html { rewrite ^(.*)$ /www-vote4twix-mars-com-twix-brand-pick-a

2017-10-11 23:57:45 515

原创 https搭建:ubuntu nginx配置 SSL证书

HTTPS超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定。HTTPS连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输。HTTPS不应与在RFC 2660中定义的安全超文本传输协议(S-HTTP)相混。HTTPS 目前已经是所有注重隐私和安全

2017-10-11 22:21:09 399

原创 ubuntu 安装 网易云音乐

Ubuntu只适合用来工作,娱乐的话还是用windows吧,比如找个酷狗那样好用的音乐播放器都难,之前用过深度音乐,感觉体验和酷狗差的太远,音乐很少,还要自己设置网络音乐的来源,所以以前只能在网页上播放音乐。现在,强烈推荐网易云音乐,体验算是linux里面最好的啦。 首先,要去官网下载网易云音乐安装包: 网易云音乐Linux客户端官网下载地址双击下载好的deb包就可以直接安装了,当然,你也可以

2017-10-11 21:24:53 1123

原创 PHP环境下Memcache的使用方法

提高网站访问速度,减少对数据库的操作;作为PHP开发人员,我们一般能想到的方法有页面静态化处理、防盗链、CDN内容分发加速访问、mysql数据库优化建立索引、架设apache服务器集群()、还有就是现在流行的各种分布式缓存技术:如memcached/redis; 1.什么是Memcached?a.Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内

2017-09-21 22:11:19 266

原创 ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open”的方法

在ubuntu系统终端下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将终端中断,此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装,可能会发生下面的提示: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) 无法锁定管理目录(/var/lib/dpkg/),是否有其他

2017-09-02 00:44:18 691

原创 win7 && Ubuntu 引导顺序修改

首先开机或者重启,在启动项选择菜单处记住win7对应的序号,从上至下的序号从0开始计数,我的win7系统选项处于第5个,那么序号就应该是4,记住后,打开ubuntu系统。在终端中输入:sudo gedit /etc/default/grub输入完回车后会弹出一个grub文件,将文本”GRUB_DEFAULT=0“中的0改成win7系统的序号4,同时可以修改”GRUB_TIMEOUT=10“中的1

2017-07-17 21:11:19 407

原创 CURL获取 URL Location:重定向

CURL是需要设置curl_setopt 和curl_getinfo才可以获取 Location:重定向//curl的百度百科$url = 'http://www.baidu.com/link?url=77I2GJqjJ4zBBpC8yDF8xDhiqDSn1JZjFWsHhEoSNd85PkV8Xil-rckpQ8_kjGKNNq';$ch = curl_init();curl_setopt(

2017-06-22 21:12:17 4254

原创 jquery ajax error函数详解

$(document).ready(function() { jQuery("#clearCac").click(function() { jquery.ajax({ url: "/Handle/Do.aspx", type: "post", data: { id: '0' }, dataT

2017-06-19 23:15:01 607

原创 PHP empty 方法判断 0.0

在使用 empty(mixed var)时要考虑var) 时要考虑 var 的类型,尤其是在判断数据库查询后的字段bool empty(mixed $var)以下的东西被认为是空的:“”(空字符串)0 (作为整数的0)0.0 (作为浮点数的0)“0” (作为字符串的0)NULLFALSEarray() (一个空数组)$var (一个声明了,但是没有值的变量)注意: string

2017-06-11 17:53:05 1929

原创 mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by

在mysql 工具 搜索或者插入数据时报下面错误:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is not functionally dependent on columns

2017-06-11 17:15:11 489

原创 CGI FastCGI PHP-CGI PHP-FPM 区分

CGICGI: Common Gateway Interface. HTTP 服务器与你的或其它机器上的程序进行“交谈”的一种协议,其程序须运行在网络服务器上。web server(比如说 Nginx)只是内容的分发者。如果请求 /index.html,那么 web server 会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。如果现在请求的是 /index.php,根据配置文件,n

2017-06-10 22:36:56 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除