
PHP
小Z笔记
坚持小小笔记,探索未知
展开
-
聊一聊yii2-queue你可能不知道的事
业务描述在聊yii2-queue之前,先来了解下最近使用queue的业务场景。公司最近需要开发游戏app热更新的后台功能,热更新的差异包在后台计算生成,所谓差异包就是用新版本的包对比旧版本的包并把有修改或新增的文件重新组成一个新包。这是个很耗时、很占cpu和内存(zip压缩包对比)的操作,所以放到队列慢慢处理。版本包比较大(大约400MB/个),所以考虑存放在第三方服务,每次计算都从第三方下载回...原创 2020-01-06 11:59:12 · 2249 阅读 · 0 评论 -
php异步测试
参考:4种PHP异步执行的常用方式异步文件 async.php:<?php $url = 'http://test.study.com/1.php'; $param = array( 'name'=>'fdipzone', 'gender'=>'male', 'age'=>30 ); ignore_user_abort(true); /...转载 2018-03-29 12:02:44 · 275 阅读 · 0 评论 -
php通过反射自动加载注入的类
https://blog.youkuaiyun.com/qq_20678155/article/details/70158374(反射自动加载注入的类) http://laravelacademy.org/post/769.html(laravel契约、工厂模式、依赖注入)转载 2018-04-17 16:35:18 · 468 阅读 · 0 评论 -
FastCgi与php-fpm
FASTCGI:WEB服务器与处理程序之间通信的一种协议,是CGI的改进方案。CGI程序反复加载是CGI性能低下的主要原因,如果CGI程序保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等。FASTCGI是常驻型的CGI,它可以一直运行,在请求到达时,不会花费时间去fork一个进程来处理。FastCGI是语言无关的、可伸缩架构的CGI...转载 2018-04-25 10:30:58 · 321 阅读 · 0 评论 -
lnmp + thinkPHP5 跑起来
1、PHP版本是7.3 + ; 刚安装的 lnmp ,PHP报错是默认不打开的 , 运行框架的是出现错误也不会提示。 方法: 找到php.ini文件 , 修改: display_error = On;2、报错:“require(): open_basedir restriction in effect” 是因为PHP没权限打开网站根目录的上级目录,例如根目录是: /home/wwwroot...原创 2018-06-12 17:27:13 · 869 阅读 · 0 评论 -
一次成功的snoopy模拟登录体验
snoopy 官网snoopy是基于PHP的一个爬取网站数据类,使用方便但网上的文档不够完善,而且作者在2014年7月开始不更新维护了,不建议用 。以下是从底层理解写的一个模拟登陆案例: $URL = 'http://www.****.cn/login.html'; // 登陆链接 $snoopy = new Snoopy; $snoopy-&amp;amp;amp;gt;fet...原创 2018-09-26 16:45:25 · 774 阅读 · 0 评论 -
websocke和基于swoole的异步通信
一、概述 WebSocket 协议是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。浏览器通过 JavaScript 向服务器发出建立原创 2017-10-21 14:50:42 · 860 阅读 · 0 评论 -
php骚函数
函数作用get_declared_classes()获取PHP根目录下的所有类原创 2018-12-17 12:08:46 · 314 阅读 · 0 评论 -
reids +laravel5 实现商品排序
<?phpnamespace App\Http\Controllers;use Mockery\Exception;use \Redis;class GoodsController extends Controller{ protected $cate; // 分类 protected $redis; // red...原创 2018-12-18 16:14:17 · 424 阅读 · 0 评论 -
laravel5.6实现api验证码验证
https://blog.youkuaiyun.com/Eric_Alive/article/details/83274143转载 2019-01-18 10:53:37 · 1215 阅读 · 0 评论 -
Linux安装php拓展pgsql
今天安装php拓展pgsql遇到的坑直接从php官网官网下载pgsql下载安装后,编译会报一大堆错误。。。。pecl install PDO_PGSQL或者:$ wget http://pecl.php.net/get/包地址$ cd /包目录$ phpize$ ./configure$ make && make install注意:以上两种都会报错正确的安...原创 2019-03-25 14:17:15 · 1886 阅读 · 0 评论 -
高并发架构技术|缓存失效、缓存穿透问题 PHP 代码解决
出处:https://mp.weixin.qq.com/s/jy1q3OnbANEmQR750f0S6Q问题描述缓存失效: 引起这个原因的主要因素是高并发下,我们一般设定一个缓存的过期时间时,可能有一些会设置5分钟啊,10分钟这些;并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一时刻,这个时候就可能引发——当过期时间到后,这些缓存同时失效,请求全部转发到DB...转载 2018-03-29 10:04:32 · 1738 阅读 · 2 评论 -
PHP踩坑大全
<?php $date = date('Y-m-d' ,strtotime('2018-3-31' . '-1 month') ); // 2月没有31日,等价于 strtotime('2018-2-31'); print_r($date); // 2018-3-3 $date = date('Y-m-d' ,strtotime('2018-1-30' ....原创 2018-03-31 15:43:36 · 1696 阅读 · 0 评论 -
获取用户的真实ip
参考:http://www.cnblogs.com/lmule/archive/2010/10/15/1852020.htmlREMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。 HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也转载 2017-08-28 10:40:07 · 345 阅读 · 0 评论 -
PHPExcel入门(基于laravel 5.2)
简介PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格、生成统计图表,非常适合用于做报表。安装&配置该项目的GitHub地址是:https://github.com/Maatwebsite/Laravel-Excel使用composer安装 : composer require maat原创 2017-07-15 11:41:32 · 1082 阅读 · 0 评论 -
laravel 5.2 任务调度
一、认识crontab Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,关键是要记住/var/spool /cron这个目录。查看一下/etc/crontab文件:$ cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/注 : 前四行是有关设置cro原创 2017-11-23 18:51:44 · 410 阅读 · 0 评论 -
laravel ORM 的setAttributes 与 getAttributes
参考 laravel 例子 访问器&修改器 有时候,需要添加数据库中没有相应的字段到数组中,要实现这个,首先要定义一个访问器 ; 定义好访问器后,添加字段名到模型的appends属性 ; 以下例子实现 通过处理 最后登陆时间 字段追加 未登陆天数 属性 : 例1 namespace App\Models;class Users extends BaseModel{ /**原创 2017-11-23 21:06:43 · 17440 阅读 · 0 评论 -
laravel 队列学习笔记
参考:1、Laravel 5.4 文档 综合话题 —— 队列 2、PHP的Laravel框架中使用消息队列queue及异步队列的方法_php实例 3、Laravel之队列对列作用队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短Web请求和相应的时间。队列进程原理:写一个死循环的脚本在Linux系统持续运行,新的队列任务push到这个脚本中。一、配置原创 2018-01-03 21:05:10 · 1709 阅读 · 0 评论 -
token原理
转载 2018-02-26 17:30:41 · 298 阅读 · 0 评论 -
签名验证详解
参考:数字签名和token原理 、签名验证代码、签名原理转载 2018-02-26 17:52:35 · 3201 阅读 · 0 评论 -
xunSearch笔记
导入数据需要一个定时脚本,将需要检索的MySQL数据导入、更新到xunSearch里: util/Indexer.php --rebuild --source=mysql://你的数据库用户名:你的数据库密码@你的数据库IP/你的数据库名 --sql="你要执行的SQL语句" --filter=debug --project=你的项目名;保存数据文件的目录:$prefix/dat...原创 2018-03-01 10:27:38 · 529 阅读 · 0 评论 -
PHP正则匹配所有字符失败问题
<?php$str = '@@@@i ( PCRE_CASELESS)如果设置了这个修饰符,模式中的字母会进行大小写不敏感匹配。@@@@m ( PCRE_MULTILINE)';// 正则1:$preg = '/@@@@(.*)@@@@/'; 无法匹配换行符\n// 正则2:$preg = '/@@@@(.*)@@@@/s';// \s 匹配任意一个空白符,等价于[...原创 2018-03-31 10:49:36 · 904 阅读 · 0 评论 -
高德获取ip地理位置
/** * 获取IP的实际地理位置 * 传入一个对象,并且对象里有ip元素 */ protected function getLocation($lists) { // 高德key $gdKey = [ 'sdfssdfdsfsdfsdfsdfsdfsdfsdfsdfs',原创 2017-08-08 11:52:39 · 3660 阅读 · 0 评论