自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jiaxiaolong的博客

欢迎大家访问讨论

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

转载 PHP使用AES加密和解密

366 0 2AES加密在php5的版本中使用的mcrypt_decrypt 函数,该函数已经在php7.1后弃用了,取而代之的是openssl的openssl_encrypt和openssl_decrypt,并且代码也非常精简,下面是示例代码:class Aes{ public $key = ''; public $iv = ''; public function __co...

2019-01-07 14:16:21 1295

原创 斐波那契数列算法

斐波那契数列递归算法function fibo($n){ if($n==1){ return $arr=[1]; }else if($n==2){ return $arr=[1,1]; } $arr=[1,1]; for($i=2;$i<$n;$i++){ $arr[$i]=$arr[$i-1]+$a...

2019-01-07 13:43:09 372

原创 阶乘算法

阶乘非递归算法 function product($n){ $product=1; for($i=1;$i<=$n;$i++){ $product*=$i; } return $product;}阶乘递归算法function product($n){ if($n==1){ return 1; ...

2019-01-07 13:42:17 351

原创 二分法查找

二分法查找 (递归法)function Search($arr,$val,$start,$stop){ //确定中间值的索引 $mkey=ceil(($start+$stop)/2); //如果中间值等于查找值返回索引 if($arr[$mkey] == $val){ return $mkey; } //如果中间值大于查找值,则...

2019-01-07 11:59:15 199 1

原创 约瑟夫环(猴子选大王)算法

猴子选大王算法function seking($n,$m){ //构建元素为n的数组 for($i=1;$i<=$n;$i++){ $arr[$i]=$i; } $tmp=1; //如果数组中的下标可以被m整除,则删除该数值 //如果数组中的下标不被m整除,则该值移动到数组最后,删除该下标值 while(count...

2019-01-07 11:45:11 654 1

原创 laravel使用自定义函数

1.在app目录下创建Helpers目录然后新建文件,文件名任意,其实目录名也可以任意,下面以目录名为Helpers作为示例说明,在该目录下创建func.php,如下图目录结构为app/Helpers/func.php2.在composer.json 中 autoload 增加:"autoload": { "classmap": [ "dat...

2019-01-04 13:59:23 2381

原创 linux配置https服务

160 0 1首先说明一点,并不是仅仅配置就可以使用真正的https服务,因为需要向证书颁发机构申请SSL证书首先先去你的云服务器购买证书,然后按照提示进行购买购买完毕后下载证书然后在nginx.conf配置:listen 443;#省略若干配置......ssl on; #开启ssl支持ssl_certificate /opt/server.pem; ...

2019-01-04 13:57:16 915

原创 elasticsearch分词插件安装

官方地址:https://github.com/medcl/elasticsearch-analysis-ik两种安装方式:1. 进入elasticsearch-6.5.0/plugins/然后mkdir ik cd ik wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5....

2019-01-04 13:47:54 264

原创 elasticsearch服务的安装设置

安装jdkrpm -ivh jdk-11_linux-x64_bin.rpm安装elasticsearchtar zxvf elasticsearch-6.5.0.tar.gz#不要解压到/root 目录下 本次演示解压到根目录启动 elasticsearchcd elasticsearch-6.5.0/bin./elasticsearch启动时可能会出现 ca...

2019-01-04 13:42:06 153

原创 安装elasticsearch的php类库

单独安装elasticsearch的php类库composer require elasticsearch/elasticsearch使用类库:require_once( './vendor/autoload.php');$esclient = Elasticsearch\ClientBuilder::create() ->setHosts([...

2019-01-04 13:38:07 468

原创 ES (elasticsearch) 集群配置

先了解几个概念1.候选主节点(Master-eligible node)一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接。集群中会从候选主节点中选举出一个主节点,主节点负责创建索引、删除索引、分配分片、追踪集群中的节点状态等工作。设置方式node.master: true2.数据节点(Data node)负责数据的存储、检索等操作,对磁空间、C...

2019-01-04 12:00:45 1022

原创 redis集群配置

参考官方地址:https://redis.io/topics/cluster-tutorial假设现有服务器6台 ip分别为192.168.43.203 192.168.43.204 192.168.43.205192.168.43.206 192.168.43.207 192.168.43.208每台机器安装redis服务,都要做如下配置: vi /usr/local/redis/e...

2019-01-04 11:55:47 111

原创 redis使用队列进行抢购活动(秒杀)

开启redis服务。同一html页面模拟多个用户抢购,抢购名额为5。lpush.html代码如下:<!DOCTYPE html><html> <head> <title>TODO supply a title</title> <meta charset="UTF-8">

2019-01-04 11:49:52 1064

原创 PHP4种基础排序算法(冒泡、选择、插入、快速)

冒泡算法 /** * @param $arr * @return mixed * 冒泡排序算法 */function buSort($arr){ $count = count($arr); $num = ""; for ($j = 0; $j < $count - 1; $j++) { for ($i = 0; $i < $co...

2019-01-04 11:38:05 143

转载 根据经纬度求距离(算法)

public function howLang(Request $request){ $navi_id = $request->get('id');//分类id,或其他查询条件 $storex = $request->get('longitude');//经度 $storey = $request->get('latitude')...

2019-01-04 11:33:21 3877 1

原创 mysql数据库主主同步

3台服务器的多主架构,3台服务器都可以写入并且做到3台服务器的数据一致性(任意一台服务器做写入操作都可以,并且每台服务器的数据做到完全一致),并且防止主键冲突.目前只有3台MySQL服务器,不使用生成唯一id的程序。在3台主服务器上创建mysql用户创建用户(使用root也可以,但是不建议) , 该用户必须有 REPLICATION SLAVE 权限创建用户:CREATE USER ‘con...

2018-12-19 12:04:20 322

原创 mysqlcluster mysql集群配置

管理节点该节点的作用是管理NDB集群中的其他节点,例如提供配置数据,启动和停止节点以及运行备份等功能。由于此节点类型管理其他节点的配置,因此应首先在任何其他节点之前启动此类型的节点。使用命令ndb_mgmd启动MGM节点数据节点该类型的节点存储集群数据SQL节点这是一个访问集群数据的节点,必须有mysqld服务进程下面以4台服务器 ip为 192.168.8.129-192.168.8...

2018-12-19 11:59:56 197

原创 服务器架构mysql主从同步

在主服务器上创建mysql用户创建用户(使用root也可以,但是不建议) , 该用户必须有 REPLICATION SLAVE 权限创建用户:CREATE USER 'test1'@'192.168.8.%' IDENTIFIED WITH mysql_native_password by '123456';赋权:GRANT REPLICATION SLAVE ON *.* TO 'test...

2018-11-12 15:35:27 115

原创 服务器架构inotify+rsync文件实时同步

发布服务器上下载wget https://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz在代码发布服务器上安装inotify,执行如下命令tar xzvf inotify-tools-3.14.tar.gzcd inotify-tools-3.14./configuremakemake ...

2018-11-12 15:31:43 146

原创 服务器架构配置keepalived 双机热备

下载wget http://keepalived.org/software/keepalived-2.0.6.tar.gzmkdir /usr/local/keepalived/tar -zxvf keepalived-2.0.6.tar.gz -C /usr/local/keepalivedcd /usr/local/keepalived/keepalived-2.0.6...

2018-11-12 15:13:42 158

原创 服务器最简单架构设计

upstream docs.com{ server 192.168.67.131:80 weight=1; server 192.168.67.132:80 weight=1; }server { listen 80 default_server; server_name ...

2018-11-12 15:06:03 276

原创 使用API接口方式调用电脑Alipay网站支付功能

其实真是的支付宝支付网关和支付宝沙箱只是提交地址不同,如果是沙箱吧沙箱地址填写上去,如果是正式的环境请把真实的支付宝网关填写上去;支付宝沙箱网关:https://openapi.alipaydev.com/gateway.do支付宝正式网关:https://openapi.alipay.com/gateway.do 一,主页填写各种参数新建一个pay.php文件 <...

2018-10-26 15:09:16 1955

转载 PHP数组和XML相互转换的函数

//数组转xmlfunction ArrToXml($arr){ if(!is_array($arr) || count($arr) == 0) return ''; $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">...

2018-10-17 10:37:11 100

转载 base64格式的图片字符串和图片文件相互转换的代码

在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交,所以此时需要使用服务器端的程序进行转换成二进制的数据。如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法,同时保证了图片字符串转图片文件时数据类型的问题,进行了简单的封装,使用时可根据实际情况进行修改。具体查看如下代码:class Img{ /** @param $base64Str bas...

2018-10-17 10:34:33 180

原创 php查看用户是用微信内置浏览器访问还是支付宝内置浏览器

<?php#php判断微信还是支付宝if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') == true) { $browser = '微信浏览器';} else if (strpos($_SERVER['HTTP_USER_AGENT'], 'AlipayClient') == true) { $brow...

2018-09-19 08:57:01 1988

转载 Nginx兼容框架的pathinfo模式与URL重写

      几乎所有的框架(ThinkPHP,Zend Framework,CI,Yii,laravel等)都会使用URL重写或者pathinfo模式,使URL看起来更美观,比如可以隐藏掉入口文件,并且有利于搜索引擎优化,其实让Nginx支持pathinfo或者重写也不难,首先在php.ini中设置cgi.fix_pathinfo=1再就是添加配置文件(新版nginx) 内容如下:#p...

2018-08-16 20:21:23 363

转载 使用PHP实现RSA算法的签名和验签

      使用RSA算法除了加密解密之外(加密解密的代码可以查看本站PHP使用RSA加密算法解密数据  这篇文章),在支付等接口方面通常还会用到生成签名和验证签名操作,下面是PHP代码:class RSA{ /** * RSA签名 * @param $data 待签名数据 * @param $private_key 私钥字符串 * ret...

2018-08-16 20:10:42 5864

转载 使用CURL实现GET和POST方式请求

 卷曲请求,支持GET和POST两种方式,默认为GET方式,如果传第二个参数则为POST方式请求,设置了超时时间,避免程序卡死。/** 使用curl方式实现get或post请求 @param $url 请求的url地址 @param $data 发送的post数据 如果为空则为get方式请求 return 请求后获取到的数据*/function curlRequest(...

2018-08-16 20:07:27 695

转载 使用PHP判断是否为微信、支付宝等移动设备访问代码

       在开发过程中经常遇到根据不同的设备显示不同的数据或者在页面样式上做不同的布局,另外在做支付接口的时候也可能会判断当前是什么设备访问,例如判断如果是微信内置浏览器访问则只启用微信支付功能,如果是支付宝内置浏览器访问也是类似的处理方式,那么如何判断当前访问的设备呢,通常使用的方式是通过请求头信息中的HTTP_USER_AGENT来判断,例如微信访问在USER_AGENT中就会带有Mic...

2018-08-16 20:03:15 2017

原创 使用API接口方式调用手机Alipay网站支付功能

其实真是的支付宝支付网关和支付宝沙箱只是提交地址不同,如果是沙箱吧沙箱地址填写上去,如果是正式的环境请把真实的支付宝网关填写上去;支付宝沙箱网关:https://openapi.alipaydev.com/gateway.do支付宝正式网关:https://openapi.alipay.com/gateway.do 一,主页填写各种参数新建一个pay.php文件<?p...

2018-08-13 20:51:37 6568

原创 使用API接口方式调用阿里云短信接口

传入手机号,AccessKey ID,Access Key Secret,签名名称,模版代码date_default_timezone_set('GMT');#手机号码$phone = '';#短信签名名称$signName = '';#AccessKeyID$appid = '';#AccessKeySecret$secret = ''; #模板code$tpli...

2018-08-10 15:46:03 2072

原创 PHP使用json编码时中文被编码的问题

在使用PHP对含有中文的数据进行json_encode编码时中文数据会被unicode编码导致中文变成类似"\u9ece\u660e\u4e92\u8054"的编码,有时需要处理转换才可以达到想要的目的。  其实json_encode函数还有第二个参数,如果第二个参数使用JSON_UNESCAPED_UNICODE就可以解决这个问题,有需求的童鞋可以使用一下,类似如下代码:$data...

2018-08-10 15:26:44 1642

转载 在Laravel中使用不带命名空间的第三方类库

在使用laravel框架时有时会遇到使用第三方类库的情况,那么在Laravel框架中如何引入第三方类库呢?require?include? 这些虽然可以但不是好办法,下面介绍一下使用方式。首先规划一个存放第三方类库的文件夹,比如我打算在app下创建一个extend文件夹,以后遇到第三方类就放在这个目录了,加入现在我有一个Test类和一个Xg类,我可以按下图所示方法放置:然后打开项...

2018-08-10 15:21:17 593

原创 Centos 7 使用源码安装lnmp集成环境

 wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp运行上述LNMP安装命令后,会出现如下提示:目前提供了较多的MySQL、MariaD...

2018-08-01 19:35:15 932

原创 lnmp一键安装包连接本地navicat

lnmp问题解决:1.MySQL/MariaDB无法远程连接,如何开启? 为了安全LNMP默认是禁止远程连接的先进入MySQL:进入MySQL的命令 :mysql -u用户名 -p密码GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;flush privileg...

2018-07-23 16:16:12 505 2

转载 使用PHP利用phpmailer发送电子邮件

先来几句废话:    phpMailer是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。     phpMailer的特点:    1、在邮件中包含多个 TO、CC、BCC 和 REPLY-TO。    2、平台应用广泛,支持的 SMTP 服务器包括 Sendmail、qmail、Postfix、Gmail、Ima...

2018-07-19 21:16:06 408

原创 PHP7环境以上安装memcache和memcached扩展(php)(源码安装)

PHP7环境以上安装memcache扩展和memcached扩展(php)大致步骤:一、首先下载PHP7的redis扩展二、解压三、进入目录四、执行phpize五、执行php-config六、编译七、编译并执行八、修改扩展目录九、php.ini中加入配置十、重启php-fpm使之生效如果使用php操作memcached服务器最方便的方式就是安装mem...

2018-07-19 21:07:16 3046

原创 PHP7环境以上安装redis扩展(php)(源码安装)

注:以下介绍的安装方式为PHP的安装路径为在/ usr /本地/ PHP的,如果你的服务器上PHP的安装目录不一致请按实际情况处理 PHP7环境以上安装Redis的扩展(PHP)的大致步骤:一,首先下载PHP7的Redis的扩展二,解压三,进入目录四,执行phpize五,执行PHP-配置六,编译七,编译并执行八,修改扩展目录九,的php.ini中加入配置...

2018-07-19 20:48:15 668

原创 CentOS7下安装memcached服务(源码安装)

CentOS7下安装的memcached的服务大致步骤:一,首先下载memcached的二,安装前需要先安装了libevent三,解压四,进入目录五,配置六,编译七,安装八,启动memcached的CentOS7下安装的memcached的服务详细步骤:首先下载memcached的wget http://www.memcached.org/fil...

2018-07-19 20:34:25 596

原创 CentOS7安装Redis服务(源码安装)并且安装phpredis扩展

CentOS7安装的Redis的服务大致的步骤:一,下载二,解压编译并执行文件 三,拷贝文件四,创建数据保存目录五,创建配置文件穆六,修改redis.conf中的数据存储目录如下七,如果需要外部访问需要修改绑定八,快照15分钟存储一次至少修改一次键九,启动十,关闭的Redis的的命令 CentOS7安装的Redis的服务详细的步骤:#下载...

2018-07-19 20:04:53 110

phpstrom 编辑器

你还在为寻找如何配置phpStrom或者是eclipsephp版本的Xdebug配置而烦恼吗?你还在为配置php的Xdebug而绞尽脑汁吗?你还在网上苦苦搜索而徒劳无功吗?好吧让这一切结束...

2018-07-04

空空如也

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

TA关注的人

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