- 博客(38)
- 收藏
- 关注
原创 MobileDetect检测包括平板在内的移动设备的类型的工具类
安装composer require mobiledetect/mobiledetectlib使用<?phpnamespace app\index\controller;use Detection\MobileDetect;class Index{ public function index() { $Mobile_Detect = new MobileDetect(); $res = $Mobile_Detect->
2021-03-05 14:07:51
430
1
原创 PHP 网络请求插件 Guzzle
Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。Guzzle提供了简单的接口,构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。安装使用Composer安装:composer require guzzlehttp/guzzleGuzzle基本使用<?phpnamespace app\index\controller;use think\facade\Log;use Guzzl
2021-03-05 13:40:18
377
原创 php使用faker填充测试数据
Faker描述Faker是一个PHP库,它为您生成假数据。无论您需要引导数据库、创建好看的XML文档、填写持久性以进行压力测试,还是匿名化从生产服务中获取的数据,Faker都是为您准备的。Faker 支持php版本:PHP >= 5.3.3地址:https://github.com/fzaninotto/Faker?from=madewith.cnComposer下载地址:composer require fzaninotto/faker代码实现<?phpnamespace
2021-03-04 17:00:10
195
1
转载 php令牌桶算法实现接口限流
前端每次请求从令牌桶取走令牌,后端匀速向桶内投递令牌,如果前端取到令牌,则说明这次请求有效,否则让前端再次请求或者等待。避免了大量请求下服务器压力过大导致的崩溃问题。令牌桶类:<?php class Token{ private $_max; private $_queue; private $_redis; public function __construct() { try { $this->
2020-12-24 18:48:08
385
1
转载 PHP+Sphinx+MySQL实现全文检索
理论篇sphinx 可以解决 站内搜索的应用场景(用来生成索引数据,为后续的高效搜索做铺垫)sphinx 简介sphinx是一个基于SQL(mysql sqlserver... )的全文检索引擎,它提供了比数据库更加专业的搜索功能,并且sphinx特别为一些脚本语言设计了搜索的API接口吗,比如PHP、Ruby、Python等,同时为MySQL也设计了一个存储引擎插件它是如何与生成索引的?...
2020-07-10 07:16:31
548
转载 mysql的事务四个特性以及事务的四个隔离级别
一、事务四大属性分别是原子性、一致性、隔离性、持久性。1、原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2、一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。举例来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账、转几次账,事务结
2020-07-02 11:20:45
138
转载 五十个小技巧提高PHP执行效率,解决三大常见问题
SESSION变量,调用SESSION这个全局变量,往往大家在将值放入SESSION之后,直接就往下接着写自己的代码了,却忘记了SESSION变量会在页面执行完毕之后才会将值放入SESSION中供其他页面使用,这样如果这个页面执行时间过长,其他页面也调用这个SESSION就会等待这个写入SESSION的页面执行完毕之后,再往后执行其他程序,但是我们的程序要的不是这样的效果,因为我们只需要将值写入SESSION执行之后,就已经放在SESSION中了,而不是等待页面执行完毕,从PHP官网也能看到这个SESSIO
2020-05-27 17:40:34
152
转载 学习Swoole需要掌握哪些基础知识
学习Swoole需要掌握哪些基础知识多进程/多线程了解Linux操作系统进程和线程的概念 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 阮一峰 了解Linux进程/线程切换调度的基本知识 了解进程间通信的基本知识,如管道、UnixSocket、消息队列、共享内存 http://www.cnbl...
2020-04-02 11:52:44
142
原创 常用项目管理软件/站点
showdoc :https://www.showdoc.cc/ redmine :http://www.redmine.org.cn/ 禅道:https://www.zentao.net/
2020-04-02 11:49:07
95
转载 CentOS7 安装及配置supervisor
安装方式一:yum安装yum install supervisor如果yum安装无法找到资源,可以通过easy_install方式二:easy_install安装easy_install supervisor配置1)创建配置文件夹mkdir /etc/supervisor2)创建配置文件echo_supervisord_conf > /etc/supervi...
2020-03-31 09:21:41
269
转载 nginx三种防盗链方法
一:一般的防盗链如下:location ~* \.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www.jzxue.com jzxue.com ; if ($invalid_referer) { rewrite ^/ http://www.jzxue.com/retrun.html; #return ...
2020-03-20 15:14:48
231
转载 必学PHP类库/常用PHP类库大全
[JingwenTian]awesome-php [ziadoz]awesome-php 依赖管理( Dependency Management )用于依赖管理的包和框架 Composer/Packagist- 一个包和依赖管理器. Composer Installers- 一个多框架Composer库安装器 pickle- PHP扩展...
2020-03-13 17:28:41
1292
原创 查询节假日相关接口
使用curl get方式请求如下接口url实例:检查一个日期是否为节假日 http://www.easybots.cn/api/holiday.php?d=20130101检查多个日期是否为节假日 http://www.easybots.cn/api/holiday.php?d=20130101,20130103,20130105,20130201获取2012年1月份节假日 http:...
2019-12-26 10:17:20
2205
转载 mysql索引介绍
mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的详细介绍Normal 普通索引Unique 唯一索引Full Text 全文索引SPATIAL 空间索引btree索引和hash索引的区别在实际操作过程中,应该选取表中哪些字段作为索引?Normal 普通索引表示普通索引,大多数情况下都可以使用Unique 唯一索引表示唯一的,不允许重复的索引,...
2019-12-20 15:26:01
77
原创 mysql存储过程写入数据
一、执行过程1、创建数据库表DROP TABLE IF EXISTS `code_info`;CREATE TABLE `code_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL DEFAULT 0, `code` varchar(255) CHARACTER SET latin1 ...
2019-12-19 16:31:19
1385
原创 yum安装lnmp环境shell脚本
shell脚本如下#!/bin/bash#建立nginx的yum仓库rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm#下载并安装nginxyum -y install nginx#启动nginxsystemctl start ...
2019-12-17 08:47:08
225
1
原创 mysql关联表索引失效问题
1、场景:当使用关联查询(inner 、left、right join)等进行查询时候,关联条件都已建立索引,但查看执行计划发现并未走索引。 原因:两表字段的字符集不相同导致关联查询索引失效 解决方案:修改表字段字符集类型,保证字符集一致,语句:alter table t1 convert to charset utf8mb4;(alter table t1 charset utf8...
2019-12-03 17:46:06
1222
原创 http2.0小笔记
http2.0相较http1.1的新特性1、新的二进制格式,http1.1采用的是文本协议格式2、多路复用,相较于http1.1的长链接,http1.1使用的是串行化单线程处理,http2.0使用的是并行请求HTTP 性能优化的关键并不在于高带宽,而是低延迟。TCP 连接会随着时间进行自我「调谐」,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输的速度。这种调谐则被称为...
2019-11-21 11:13:38
104
原创 关于tp5命令行运行定时脚本相关记录
tp5自带的命令行工具进入项目目录最外层1、创建文件名为abc.php的脚本php think make:command abc2、直接在文件内execute方法里写要执行的脚本内容(可以使用tp自带的数据库等工具类)<?phpnamespace app\command;use think\console\Command;use think\console\...
2019-09-10 17:51:33
994
转载 九种跨域请求的解决方案
一、什么是跨域?1. 什么是同源策略及其限制内容?同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略限制内容有:Cookie、LocalStorage、IndexedDB 等存储性内容 DOM 节点 AJAX 请...
2019-08-06 16:38:20
225
转载 MySQL优化
原文:https://www.cnblogs.com/liujiacai/p/7605612.html前言说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重...
2019-05-22 14:45:57
98
原创 一种简单的用户信息加密方式-PHP
有时候我们分享推广链接一般会带的用户信息字段,一般有两种方式,1、一种数据库生成用户的推广码,通过推广码来识别属于哪个用户2、直接在链接上带上该用户的id信息,并进行简单的加密这边记录下见过的一张加密方式。加密步骤:<?php//用户信息数组$userInfo = ['uid'=>5,'pro_num'=>'sss'];//1、生成任意n位的...
2019-05-14 15:08:02
567
转载 配置PHP的session存储在redis中
方法一:修改 php.ini 的设置session.save_handler = redissession.save_path ="tcp://127.0.0.1:6379"配置完重启php方式二:通过 ini_set() 函数设置ini_set("session.save_handler","redis");ini_set("session.save_pa...
2019-05-07 17:19:18
652
原创 Nginx使用反向代理实现负载均衡
由于只有一台服务器,只能在主机上配置三台虚拟站点分别是127.0.0.1:80127.0.0.1:9091127.0.0.1:9092然后以80端口服务为节点分别转发到9091端口和9092端口的站点上去1、在80端口配置文件的http内配置http{#加上下面代码upstream myServer { server 127.0.0.1:9091 ;...
2019-04-12 16:11:33
137
转载 centos安装svn,并实现同步到web目录
一、svn的安装和项目的版本库的创建1、安装svnyum install -y subversion2、查看是否安装成功svnserve --version3、创建版本库//先建目录mkdir /var/svncd /var/svn//创建版本库svnadmin create /var/svn/projectcd project4、配置用户信息cd ...
2019-03-25 15:15:48
199
原创 查找某个部门下的所有子部门
部门表department字段:id,parent_id(所属上级部门id),name(部门名称),leavel(部门层级,比如最上级的部门为1,他下面的部门为2,以此类推)查找部门(部门id)A的所有子部门实现:1、先查找到部门A的信息取得A部门的层级假设为Bselect * from department where id = 'A';2、查找出层级大于B的所有部...
2018-11-01 20:42:38
4453
1
原创 composer install遇到需要输入用户名和密码的情况
解决方法:换源:composer config -g repo.packagist composer https://packagist.laravel-china.org/然后继续执行composer install,可用正常使用了(亲测可用)
2018-10-18 10:23:36
1328
原创 contab+flock实现防止重复执行的定时任务
场景:需要实时处理redis队列消息使用linux中的contab定时任务每隔一分钟执行一次,为防止一分钟后该脚本还没执行完,下个脚本重复执行,使用flock锁的方式crontab -e添加如下内容*/1 * * * * flock -xw 60 /tmp/mytest.lock -c 'php /www/index.php' 独占锁+等待时间60秒是防...
2018-10-11 15:38:31
905
转载 mysql判断库存写入数据库
电商商品出售时必须判断库存,下面举例了两种写法,写法一是常见的错误写法,并发量大的时候会出现意外,写法2为改进后写法1:beginTranse(开启事务)try{ $result = $dbca->query('select amount from s_store where postID = 12345'); if(result->amount-$qu...
2018-10-09 14:30:17
664
原创 apidoc自动生成接口文档(windows)
1、安装nodejs,到https://nodejs.org/en/download/ ,下载nodejs,按照平时软件流程一步步安装下来2、安装apidoc,在window shell命令行输入npm install apidoc -g 进行安装3、命令相关 参数 描述 -f 选择要解析的文件,支持正则表达式。-f参数可以使用多次,多个表达式可以对应不同的-f。如...
2018-09-07 21:05:11
1526
1
转载 laravel解决跨域问题
1、执行composer require barryvdh/laravel-cors 2、kernel.php protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Foundation\Http\Mi...
2018-09-06 16:31:29
969
原创 在linux中将php-fpm配置成service
在安装完php后1、设置php-fpm.conf,将;pid = run/php-fpm.pid前面分号去掉2、将解压后的php文件夹下的init.d.php-fpm拷贝到/etc/init.d/php-fpmcp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm3、将解压后的php文件夹下的init.d.php-fpm
2017-05-11 17:29:22
3999
转载 将nginx配置成service服务
很多时候nginx安装完后要重启nginx都要执行/usr/local/nginx/sbin/nginx -s reload或者杀掉nginx的进程再重新开启,所以将nginx配置成服务,可以直接执行service start stop等命令将会简单便捷很多接下来我们简单的为它提供一个服务脚本吧!# vim /etc/init.d/nginx新建文件/etc/rc.d/init.
2017-05-11 17:07:43
1871
原创 电脑连接虚拟机上的数据库
新增数据库用户,假设你的虚拟机ip为192.168.57.128mysql -uroot -p 进入数据库use mysql 进入mysql库方法一:GRANT USAGE ON *.* TO 'gws'@'192.168.57.1' IDENTIFIED BY '123456' WITH GRANT OPTION; 建立账户192
2017-05-05 16:50:13
3400
原创 php 做下载功能需注意项
如果是直接链接到下载文件下载时如:PHPini设置:1、修改上传的最大文件大小upload_max_filesize = 1200Mpost_max_size = 2000Mmemory_limit = 2048M2、修改PHP脚本文件的执行时间。php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.这就导致出现 无法打开网页的情况max_ex
2016-02-29 09:44:20
284
转载 mysql命令行下将数据导出成excel文件
在mysql命令行下执行以下sql语句:mysql>select * from xi_table into outfile ’d:\test.xls’;一句话搞定。导出为txt文件:select * from xi_table into outfile ’d:\test.txt’;有时候有excel打开的时候会出现乱码,因为office默认的是gb2312编码,服务器端生成
2015-11-23 17:26:20
905
原创 基于thinkPHP框架使用PHPExcel导出数据
import("Org.Util.PHPExcel"); import("Org.Util.PHPExcel.IOFactory.php"); import("Org.Util.PHPExcel.Style.NumberFormat.php"); //PHPExcel_Style_NumberFormat //导出 h
2015-11-23 10:54:42
747
原创 php使用exec函数导入导出数据库
代码:exec("mysqldump -h localhost -uroot -ppassword --default-character-set=utf8 shunfengzhekou>d:/bbb.sql 2>&1", $output, $return_val);exit;注意事项:1)-h和localhost中间要有空格(否则输出会报密码不正确错误)
2015-11-18 17:15:25
1135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人