php
5649498
这个作者很懒,什么都没留下…
展开
-
协程及swoole协程及协程通信waitgroup
一、io阻塞问题由于线程在操作io时需要从磁盘中读写文件时会阻塞住也就是停止运行等待io操作完成后才会继续往下执行程序。好了问题来了,程序线程就在那干等着io操作完成。会导致程序效率非常低。二、协程解决io阻塞问题那能不能在做io操作时,不要阻塞住,而是继续往下执行。等io操作完成后,再执行io操作完成后的代码。这种遇到耗时操作时挂起(yield)耗时操作,线程继续往下执行程序,耗时操作完成后恢复(resume),恢复就是执行耗时操作完成后的回调程序。就种线程程序执行方式就是是协程。三、回调与协程原创 2020-05-24 03:48:17 · 1350 阅读 · 0 评论 -
公钥/私钥/https/客户端加密
一、公钥和私钥在rsa加解密算法里,一个公钥字符串和一个私钥字符串,是对应的。公钥私钥可以互相解密。用公钥加密数据后,只有用对应的私钥才能把公钥加密数据进行解密。用公钥加密数据后,或者用对应的公钥才能把私钥加密数据进行解密,这种用公钥解密私钥加密数据也叫签名。二、https由于http在数据的传输过程中是明文传输,在传输过程中有信息泄露风险。这时就可以使用https,https实现了rsa...原创 2020-04-21 02:42:47 · 2230 阅读 · 0 评论 -
fast-cgi/cgi协议与php-fpm/php-cgi程序
一、fast-cgi/cgifast-cgi和cgi都是web服务器程序与url处理程序两者之前的应用层网络协议,现在都是用fast-cgi协议,那么现的url处理程序也都是实现了fast-cgi二、php-fpm/php-cgi**php-fpm**是实现**fast-cgi协议**的一个**程序**,**php-cgi**是实现了**cgi协议**的一个**程序**这是网上很多的理...原创 2020-04-13 20:59:37 · 337 阅读 · 0 评论 -
使用where in不要在循环体内多次查数据库
假如我们根据关注表的uid想得到用户表的信息,这是如果有n条关注,我们用循环体内就要查n次数据库。就算做了分页。。。也还是坑。 我们应譔这样,先把关注的uid查出来后放到一个一维数组里,再使用where in到用户表进行查询,因为这两个表是多对多的关系。 但是要注意一点,因为关注表存的关注id的值是不确定的(,我们如何确定关注表的id与查出来的用户信息表的数据进行匹配呢。 所以,我们就要进行...原创 2018-04-29 12:14:36 · 2426 阅读 · 0 评论 -
tp3.2的视图模型的注意点
<?php //视图模型//视图是虚拟表,把一些表的相关字段进行组合//这些字段不能有重名的,有重名的话要取别名,//外部对象在把这些字段进行查询时,要么用别名//要么用完整的表.字段namespace Home\Model;use Think\Model\ViewModel;class LetterViewModel extends ViewModel { publ...原创 2018-05-05 15:19:57 · 778 阅读 · 0 评论 -
tp3.2中使用memcahe
common/confing.php 'DATA_CACHE_TYPE' => 'Memcache', // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite|Xcache|Apachenote|Eaccelerator 'MEMCACHE_HOST' =>'127.0.0.1', 'MEMCACHE_POR...原创 2018-05-05 15:53:17 · 196 阅读 · 0 评论 -
beanstalkd从入门到 精通(手动滑机)
安装yum instll -y beanstalkdphp中如何使用呢 pheanstalk 安装了composer(可以使用yum进行安装)之后,如果你的服务器所在的网络环境在国内的话还是需要配置国的的composer源。composer config -g repo.packagist composer https://packagist.phpcomposer.com...原创 2018-04-05 15:05:40 · 869 阅读 · 0 评论 -
laravel simplePaginate的一些坑
使用simplePageinate的话,他不仅是一个二维对象,还是一个比较特殊的二维二象。 编历simplPageinate的数据对象 你只能定义成这样,你只能自定义一级的对象,最终操作的是data属性$result[$key]->main=$data;不可以这样$result[$key]->main->test=$data;原创 2018-04-03 21:54:22 · 3473 阅读 · 0 评论 -
la查数据
$result=TiezeDetail::where('uid',$userLoginStatus->uid)->where('parent',0)->orderBy('time')->simplePaginate(6);foreach ($result as $key => $value) { //也可以这样$result[$key]->test=1...原创 2018-03-27 20:38:59 · 237 阅读 · 0 评论 -
redis集群的实现及使用php进行调用
一、搭建redis集群 1.概念解释 redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。其redis-cluster架构图如下: 其结构特点: 1、所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。 2、节点的fa原创 2018-04-01 14:54:47 · 5591 阅读 · 0 评论 -
password_hash 及 加密 密码字段的意义 及登录安全流程
一般我们用md5或sha1加密码的话,加密码后都是固定的的加密字符,有点自期期人的感觉,,, 有没有一种办法可以使密码加密后生成的加密字符不是固定的。我们就可以使用password_hash方法了。 如123456在md5加密后生成的都是E10ADC3949BA59ABBE56E057F20F883E然而使用pssword_hash,每次生成的都不同。 使撞库不存在的。 小例子...原创 2018-03-24 11:33:41 · 5443 阅读 · 0 评论 -
laravel一键安装包
这里写链接内容原创 2018-03-18 18:34:52 · 3066 阅读 · 0 评论 -
关于laravel设置跨域
一般在在mvvm的开发模式下,都是向后端请求接口,在没有打包放到同域下,而是在开发的环境下,像vue-cli都是开一个端口服务,因此在开发环境下,后端都要设置允许跨域(cros) 如何使用laravel做后端时,设置允许跨域呢? 1.写一个中间件,返回一个响应头 AllowAcross.php<?phpnamespace App\Http\Middleware;use Clos...原创 2018-02-27 08:41:01 · 1233 阅读 · 0 评论 -
laravel5.1部署
laraget安装我是用一键安装包 1.把nginx根目录配置到入口文件index.php所在的目录中 2.添加如下语句,如果location /己经有了加上try_files这一句就行了。location / { try_files $uri $uri/ /index.php?$query_string;}不要望写分号啊 然后给laravel下的所有文件都给权限, ...原创 2017-09-07 17:02:30 · 313 阅读 · 0 评论 -
php实现rbac
学习视频是imocc上的rbac 视频作者写的参考文章 不使用rbac使用acl(用户直接对应权限)的话,权限如果很简单小项目就无所谓,权限复杂的话大的话就不方便管理。 一、rbac权限控制模型 rbac有5个属性 分别是用户,角色,权限,用户角色关系(某个用户属于某个角色例如张三属于管理员角色或者属于普通用户角色),角色权限关系(某个角色对应的权限例如管理员角色拥有增删改查的权限而原创 2018-02-03 20:24:26 · 1360 阅读 · 0 评论 -
在php中使用rabbitmq从概念到实战
首先要知道amqp协议是做什么的,amap是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,rabbitmq就是实现了这个协议的一个软件。 消息者<?php//创建连接-->//创建channel-->//创建交换机-->//创建队列-->//绑定交换机/队列/路由键-->//接收消息$conn_args = array( 'host' =>原创 2017-12-30 19:05:26 · 1613 阅读 · 0 评论 -
关于json_encode一些坑
json_encode可以把数组转换为Json字符串,但有时会转成这样{“name”:”sdfsdfsdf”,”summary”:”sdf”,”count”:”32165”,”price”:”213”,”specifications”:”sdf:sdf|sdf”,”category_id”:”67”,”updated_at”:”2017-11-23 10:57:05”,”created_at”:”2原创 2017-11-23 11:30:22 · 2164 阅读 · 0 评论 -
nginx负载均衡配置
这是反向代理服务器的配置 user www www; worker_processes auto;error_log /data/wwwlogs/error_nginx.log crit; pid /var/run/nginx.pid; worker_rlimit_nofile 51200;events { use epoll; worker_connections 51200;原创 2017-12-01 11:15:07 · 218 阅读 · 1 评论