自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曹品东

根据自己的经历 写点简单的东西!

  • 博客(92)
  • 收藏
  • 关注

原创 GeoHash LBS地理位置距离计算方法geohash,将一个经纬度信息,转换成一个可以排序,可以比较的字符串编码,用于高效搜索

composer https://github.com/mucts/geohash使用方法:use MuCTS\GeoHash\GeoHash;$lat="39.915108";$lng="116.376673";$geo =geo_hash_encode($lat,$lng, 32);//查询echo $geo;var_dump(geo_hash_decode($geo));//反查询距离计算:/** * @desc 根据两点间的经纬度计算距离 ...

2020-08-25 11:24:07 144

原创 ‘svn;‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

报错信息说的很清楚:command line client 命令行客户端也就是说不能使用svn 命令行客户端。大致产生的原因是,开始安装svn的时候command line client没选中安装。解决办法:modify一下svn步骤:1、找到你的svn安装包,双击,2、之后选择(modify)修改安装3、之后会看到command line client tools前面是个叉4、点下叉,选择Entire feature will be installed on local ha...

2020-08-24 16:52:41 38

原创 PHP数组函数(合并,拆分,追加,查找,删除等)

1. 合并数组array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:array array_merge (array array1 array2…,arrayN) 这个函数将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是...

2020-07-22 17:38:14 32

原创 绿色代码 Nginx配置文件nginx.conf中文详解(转)

#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件pid /var/run/nginx.pid;#一个nginx进程打开的最多文件描述符数目,理论值应该是最多...

2020-07-20 21:54:58 64

原创 php 性能优化

0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。PS:在单引号中,PHP不会自动搜寻变量、转义字符等,因此效率上快很多。而一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。...

2020-02-27 16:06:20 103

原创 CentOS TCP 性能优化

在/etc/sysctl.conf中加入fs.file-max = 65535net.ipv4.ip_forward = 1net.ipv4.tcp_fin_timeout = 30如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60 秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使...

2020-01-11 21:50:27 461

原创 浅谈MySQL索引优化

一、索引简介什么是索引? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 可以简单理解为“排好序的快速查找数据结构”。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上 索引的优点 类似大学图书馆建书目索引,提高数据检索的效率,降低数据库的IO成本 通过索引列对数据进...

2020-01-11 11:05:03 117

原创 linux安装redis 完整步骤

linux安装redis 完整步骤安装:1.获取redis资源  wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压  tar xzvf redis-4.0.8.tar.gz3.安装  cd redis-4.0.8  make  cd src  make install PREFIX=/...

2019-12-17 15:55:06 53

原创 查看mysql-bin.00000X文件的内容

mysql有提供工具-mysqlbinlog,来查看此二进制文件的内容。1、用mysqlbinlog工具直接查看:[root@b28-new-5-53 log]# mysqlbinlog mysql-bin.0000012、将二进制文件转化为txt文本文件来查看:[root@b28-new-5-53 log]# mysqlbinlog -u root -p mysql-bin.00...

2019-12-14 10:35:57 308

原创 centos7 关闭防火墙

1、直接关闭防火墙systemctl stop firewalld.service2、禁止firewall开机启动systemctl disable firewalld.service另外必须都执行,不要问什么。要不你的hadoop集群肯定出问题。sudo systemctl stop firewalld.servicesudo systemctl disab...

2019-12-13 14:44:38 25

原创 PHP安全之Web攻击

一、SQL注入攻击(SQL Injection)攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:1.某个Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入...

2019-12-13 10:34:36 56

原创 MySQL 配置优化

安装MySQL后,配置文件my.cnf在 /MySQL安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my-huge.cnf, my-medium.cnf,my-small.cnf,分别对应大中小型数据库应用的配置。win环境下即存在于MySQL安装目录中的.ini文件。下面列出了对性能优化影响较大的主要变量,主要分为连接请求的...

2019-12-13 10:21:06 25

原创 最全MySQL面试题和答案

Mysql 的存储引擎,myisam和innodb的区别。答:1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。数据表类型有哪些 答:MyISAM、InnoDB、HEAP、BOB,...

2019-12-11 16:21:38 48

原创 php+redis+TP处理并发

基本思路是所有操作用过redis的队列和集合处理并发1.用户抢购队列(List),user_list2.商品队列(List),goods_list3.订单信息(Hash集合),order_info4.购买成功用户(Set集合),bought_listPS:1和2用来控制并发,队列的rPop是具有原子性的,即使处理并发,也是一个个处理,不会出现重复和超卖的情况。3则是用...

2019-12-10 17:37:46 73

原创 大数据和高并发的解决方案汇总

1.3海量数据解决方案1.使用缓存:  使用方式:1,使用程序直接保存到内存中。主要使用Map,尤其ConcurrentHashMap。2,使用缓存框架。常用的框架:Ehcache,Memcache,Redis等。  最关键的问题是:什么时候创建缓存,以及其失效机制。对于空数据的缓冲:最好用一个特定的类型值来保存,以区别空数据和未缓存的两种状态。2.数据库优化:...

2019-12-06 13:29:01 53

原创 mysql多对一、多对多查询实践

最近做的功能涉及这方面,算是练了一下。首先多对一部分较简单。多的那一方表,多设置一个字段是少的那一方的id(主键)。具体查询时候关联查询即可。可设置外键进行级联操作。具体以后做到这个功能再更新。多对多:设备和用户多对多,一个用户可有多台设备,一个设备可供多个用户使用。首先设备表 dev:用户表 user:然后创建中间表...

2019-12-05 22:35:32 53

原创 mysql 数据库一对一,一对多,多对多实例

学生表和课程表可以多对多一个学生可以学多门课程一门课程可以有多个学生: 多对多一个学生对应一个班级一个班级对应多个学生: 一对多一个老师对应多个学生多个学生对应一个老师:一对多一个老师教一门课一门课对应一个老师: 一对一一对多(foreign key):学生表要关联班级表,多个学生属于一个班级. 班级是被关联的表创建班级表create table cla...

2019-12-05 22:13:24 272

原创 PHP高并发高负载系统架构

一、高并发和高负载的约束条件 硬件 部署 操作系统 Web 服务器 PHP MySQL 测试 二、解决之道——硬件篇处理能力的提升:部署多颗CPU,选择多核心、具备更高运算频率、更大高速缓存的CPU;处理能力的提升最直接的反应在于Web请求的处理效率和PHP程序的执行效率。内存带宽与容量:更大的内存带宽和容量;内...

2019-12-05 15:29:03 181

原创 php中如何防止CSRF攻击

3.1 Cookies Hashing第一个方案可能是解决这个问题的最简单和快捷的方案了,因为攻击者不能够获得被攻击者的Cookies内容,也就不能够构造相应的表单。这个问题的实现方法与下面的类似。在某些登录页面我们根据当前的会话创建Cookies: <!-- login.php --> <?php // Cookie value ...

2019-12-02 15:37:51 354

原创 Apache 解决500 Internal Server Error 问题

今天配置新服务器环境时候,遇到点问题上传了部分文件后,导致出现500错误随后确认了下,应该是.htaccess文件导致的应该是Rewrite规则所致修改 apache 配置文件 \Apache2.2\conf\httpd.conf取消掉下边注释掉的模块LoadModule Rewrite_module modules/mod_.Rewrite.so3处AllowOverri...

2019-11-28 17:04:37 742

原创 如何提高缓存命中率(Redis)

缓存命中率的介绍命中:可以直接通过缓存获取到需要的数据。不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。由此可见,在高并发的互联网系统中,缓存的命中率是至关重要的指标。如何监控缓存的命...

2019-11-25 13:19:31 46

原创 分享微信h5支付源码

<?php//use Flight; /** * 微信支付服务器端下单 * 微信APP支付文档地址: https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_6 * 使用示例 * 构造方法参数 * 'appid' => //填写微信分配的公众账...

2019-11-21 10:04:16 193

原创 thinkphp5+layui实现多图上传保存到数据库,可以实现图片自由排序,自由删除

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Layui</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatibl...

2019-11-20 16:46:57 331 1

原创 功能:php完美实现下载远程图片保存到本地

功能:php完美实现下载远程图片保存到本地*参数:文件url,保存文件目录,保存文件名称,使用的下载方式*当保存文件名称为空时则使用远程文件原来的名称平时我们做采集的时候,经常需要将图片保存到本地,但是为了不破坏页面路径,现在分享一个函数,可以将图片保存到本地,并维持原来的径路和文件名不变。//图片地址$url ='http://www.thinkphp.cn/Uploads/edi...

2019-11-20 15:15:05 347

原创 php时间轴函数

functiontranTime($time){$rtime=date("m-dH:i",$time);$htime=date("H:i",$time);$time=time()-$time;if($time<60){$str='刚刚';}...

2019-10-22 11:49:23 40

原创 PHP检测上传图片是否有木马

header("Content-type: text/html; charset=utf-8");function checkHex($img) { $status = 0; $tips = array( "0" => "文件没问题", "5" => "文件有毒", "-1" => "文件没有上传" );...

2019-10-22 10:17:36 545

原创 PHP -生成10个红包 金额20元

php发红包实现原理:设定总金额为10元,有N个人随机领取:N=1 第一个则红包金额=X元;N=2 第二个为保证第二个红包可以正常发出,第一个红包金额=0.01至9.99之间的某个随机数第二个红包=10-第一个红包金额;N=3 第三个红包1=0.01至9.99之间的某个随机数红包2=0.01至(10-红包1-0.01)的某个随机数红包3=10-红包1-红包2...

2019-10-22 10:02:36 80

转载 小程序与php 实现微信支付

小程序访问地址:payfee.php:include 'WeixinPay.php';$appid='';$openid= $_GET['id'];$mch_id='';$key='';$out_trade_no = $mch_id. time();$total_fee = $_GET['fee'];if(empty($total_fee)) //押金{ $bod...

2018-12-07 16:00:42 92

转载 用原生JS实现一个简单的计时器demo

&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt; &lt;title&gt;&lt;/title&gt; &lt;meta http-equiv="content-Type" content="text/html; charset=utf-8 "/&gt; &lt;script type="text/j

2018-12-03 13:54:13 369

转载 lnmp重置mysql数据库root密码

第一种方法:用军哥的一键修改LNMP环境下MYSQL数据库密码脚本一键脚本肯定是非常方便。具体执行以下命令:wget http://soft.vpser.net/lnmp/ext/reset_mysql_root_password.shsh reset_mysql_root_password.sh方便吧!第二种方法:通过命令修改,具体如下:a、停止MySQL服务执行:/e...

2018-10-12 13:06:34 103

转载 输入值/表单提交参数过滤,防止sql注入或非法攻击的方法

输入值/表单提交参数过滤,防止sql注入或非法攻击的方法:   /**     * 过滤sql与php文件操作的关键字     * @param string $string     * @return string     * @author zyb &lt;zyb_icanplay@163.com&gt;     */    private function filter_key...

2018-09-27 00:00:46 1473

原创 phpstudy 启动以后 ,无法在cmd中运行PHP文件的解决方法

1找到PHP的位置2把php的位置放在Path的目录里面3从新启动cmd

2018-09-18 09:29:10 3766

转载 浅谈TP3.2.3支付宝APP支付

今天来介绍一下支付宝的APP支付吧,首先要去蚂蚁金服注册个账号,这个不用多说了。然后再创建一个应用,这个也不用说了。不过有一点,须将应用上线后才可以签约APP支付,不然你会发现等了半年发现签约还没下来~~~ 一系列的流程下来后,你会得到一个APPID首先说一下环境配置问题吧 第一个配置支付宝网关是固定的:https://openapi.alipay.com/gateway.do 第二个...

2018-09-05 13:25:15 994

原创 第二种 银行卡查询

//第二种 public function ka(){ // echo "564"; $url="https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=6217002190010598698&amp;cardBinCheck=true";$res=$this-&gt;curl_get($url);$re...

2018-08-30 09:50:46 922

原创 银联-----银行卡信息查询接口

public function wangyin(){ // ini_set('date.timezone','Asia/Shanghai');$url="https://openapi.unionpay.com/upapi/cardbintest/token?app_id=up_1j732hancela_29i&amp;app_secret=dcd6822b0b14138cb69e9705...

2018-08-30 00:36:16 3162 1

原创 富文本 防止XSS(跨站攻击)的防范利器HTMLPurifier

&lt;?php//引入htmlPurifier去除XSS跨站攻击代码 生成安全的html代码 require_once('./htmlpurifier/library/HTMLPurifier.includes.php');$config = HTMLPurifier_Config::createDefault(); //创建默认配置$purifier = new H...

2018-08-27 17:32:07 1051

转载 PHP - 最全的正则表达式

 一、校验数字的表达式 1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:...

2018-08-24 15:57:49 68

原创 ajax 三级联动写法

&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&gt; &lt;script src="../wenjian/jquery-2.2.3.min.js

2018-08-24 15:55:49 1886

原创 php 日常小方法

//获取上一个月是几月////$date = date("Y-m-d");$arr = explode('-',$date);foreach ($arr as $key=&gt;$value){// echo $value."&lt;br /&gt;";}switch ($arr[1]){ case 1: $od_year = $arr[0]-1;...

2018-08-24 15:21:53 89

原创 PHP 二维数组根据某个字段排序

&lt;?php/** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */header('Content-Type:text/html;Charset=utf-8');$arrUsers = array( array( 'id' =&gt; 1, 'name' =&...

2018-08-24 14:10:50 58

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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