PHP之pear包总结
现在我们开发的时候,尤其是使用框架进行项目开发的时候,都会有一个专门的包管理工具,对,那就是composer,使用这个工具可以简单快速的引入一个代码包,十分快捷好用.接下就总结一下,经常使用到的pear包
1. PHP-JWT
一:JWT介绍:全称JSON Web Token,基于JSON的开放标准((RFC 7519) ,以token的方式代替传统的Cookie-Session模式,用于各服务器、客户端传递信息签名验证。
二:JWT优点:
1:服务端不需要保存传统会话信息,没有跨域传输问题,减小服务器开销。
2:jwt构成简单,占用很少的字节,便于传输。
3:json格式通用,不同语言之间都可以使用。
三:JWT组成
1:jwt由三部分组成:
头部(header)
载荷(payload) 包含一些定义信息和自定义信息
签证(signature)
2:具体构成:
header:
{
"typ": "JWT", //声明类型为jwt
"alg": "HS256" //声明签名算法为SHA256
}
载荷(payload):
{
"iss": "coding",
"aud": "x-wolf",
"iat": ,
"nbf": ,
"exp": ,
"data": {
"userid": ,
"username": "x-wolf"
}
}
载荷包括两部分:标准声明和其他声明。
标准声明:JWT标准规定的声明,但不是必须填写的;
标准声明字段:
接收该JWT的一方
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,过期时间必须要大于签发时间
nbf: 定义在什么时间之前,某个时间点后才能访问
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token。
其他声明:自己定义的字段,因为这部分是可以解开的,建议不要加入敏感信息,这里的data就是我自己定义的声明
2.链接redis
phpredis 是使用c写的php扩展,predis 是使用纯php写的。
在性能上的区别当然是扩展更好一些,但其实这两个实现还有更大的区别,就是连接的保持。
- phpredis在扩展中使用c可以保持php-fpm到redis的长连接,所以一个php-fpm进程上的多个请求是复用同一个连接的。phpredis的pconnect就是长连接方式。
- predis是使用php的socket来连接redis,所以需要每次请求连接redis。
phpredis 和 predis 的性能差距没有跨数量级,当然要考虑具体业务,如果业务非常依赖redis,并且单机qps需要支持的比较大,建议使用phpredis。否则,predis是纯php实现的原因,需要composer即可安装,非常便捷.
predis安装与使用:
1)使用composer下载包到vendor目录
composer require Predis/Predis
2)引入代码
require VENDOR_PATH . 'predis'.DIRECTORY_SEPARATOR.'predis'.DIRECTORY_SEPARATOR.'autoload.php';
3)简单使用
$server = [
'host' => '127.0.0.1', //主机地址
'password' => '', //授权码
'port' => , //端口号
'database' => , //选择库
'read_timeout' => , //超时时间 ]; $redis = new \Predis\Client($server);
$redis->set('school',);
echo $redis->get('school');
剩下的就是调用原生的redis命令就可以了
PHP之pear包总结的更多相关文章
- PHP发短信 PEAR 包:Services_Sms
PHP发短信 PEAR 包:Services_Sms 对于这种第三方库,PHP官方称之为PEAR,需要按照PEAR标准开发(标准URI). PEAR的优势:一键安装到php/lib/php目录,req ...
- Linux安装pear包
一.安装pear包. 1.安装: $ sudo wget http://pear.php.net/go-pear.phar $ sudo php go-pear.har 2.查看pear下安装的包: ...
- php的pear包管理
1.安装: $ sudo wget http://pear.php.net/go-pear.phar $ sudo php go-pear.har 2.查看pear下安装的包: $ pear l ...
- [PHP插件教程]001.Pear包管理器
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库. 简单地说,PEAR之于PHP就 ...
- php pear包打包方法
一)首先下载工具onion 浏览器打开,服务器上wget测试无法正常下载 地址:https://raw.github.com/c9s/Onion/master/onion 二)在临时目录下,建立相关目 ...
- 改写百度云推送SDK,PHP PEAR 包:Services_Baidu_Push
iPhone使用apple push很方便,而Android很多厂商删除了google push,而且google在大陆连不上,所以要用别的办法. Android常见的推送服务商有:极光推送(http ...
- 为Apple Push开发的PHP PEAR 包:Services_Apple_PushNotification
Apple Push Notification Service:通过苹果服务器向app用户推送消息,无需启动app. 苹果官方文档:http://developer.apple.com/library ...
- 为七牛云存储开发的PHP PEAR 包:Services_Qiniu
七牛云存储Qiniu Resource (Cloud) Storage:用于存储图片.apk等静态资源. 优点: 1.使用七牛带宽和CDN,速度快,不占用开发者服务器. 2.支持图片任意格式.任意分辨 ...
- 为阿里云存储开发的PHP PEAR 包:Services_Aliyun_OSS
阿里云开放存储服务 OSS:用于存储图片.apk等静态资源,使用阿里云带宽,不占用开发者服务器带宽. 阿里云官方PHP SDK: http://aliyun.com/product/oss/#help ...
随机推荐
- [ASP.NET] ASP.NET Identity 中 ClaimsIdentity 解析
各位好 : ) 最近筆者在嘗試改用ASP.NET Identity做為新系統的認證方式,發現到網路上給的資訊,不是很完整,所以做為一個工程屍,為了避免大家遇到一樣的問題.特地將一些有趣的地方記錄下來 ...
- WPF 客户端浏览器 添加Loading加载进度
在windows开发界面时,使用浏览器来请求和显示网页内容,是比较常见的. 但是在请求网页内容时,因网速或者前端功能复杂加载较慢,亦或者加载时遇到各种问题,如空白/黑屏/加载不完整/证书问题等. 因此 ...
- C#提取PPT文本——提取SmartArt中的文本、批注中的文本
提取文本的情况在工作和学习中常会遇到,在前面的文章中,已经讲述了如何提取PPT中文本框里的文本,在本篇文章中,将介绍如何使用C#代码语言提取PPT文档中SmartArt和批注中的文本.同样的,程序里面 ...
- Go开发之路(目录)
知识点 1. Go语言 简介 2. Go语言 基本语法 3. Go语言 strings以及strconv的使用 4. Go语言 时间和日期类型 5. Go语言 指针类型 6. Go语言 流程控制 7. ...
- 第六课 Html5常用标签 html5学习1
HTML标签的认识一.标签的分类1.双标签 如<html> </html>2.单标签 如<br \> 换行标签 二.标签的关系1.嵌套关系 如<head> ...
- wepy框架自定义组件编译报错not Found File XXX.wxss
今天在自己写wepy框架组件的时候编译后报错not Found File XXX.wxss 我去,当时我很难受啊,调用组件时结构和逻辑都正常,一写样式就原地爆炸 解决之路:1.先打开编译后的dist文 ...
- 36.Odoo产品分析 (四) – 工具板块(6) – 午餐管理(2)
查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (四) – 工具板块(6) – 午餐管理(1) 4 查看订单 点击"之前的订单",可以看到刚才的订单信息: 点击右边的 ...
- Linux如何查找某个时间点后生成的空文件
今天遇到一个特殊需求,需要找到某天(例如2017-04-13)以及这之后生成的空文件.那么这个要怎么处理呢?这个当然是用find命令来解决.如下所示, -mtime -5 表示查找距现在 5*24H ...
- Ubuntu 把最小化、最大化和关闭按钮放到右边
1.按下"Ctrl+Alt+T"或者"ALT+F2"调出终端 2.输入"gconf-editor",回车.如果未安装gconf-editor ...
- Redhat安装Oracle 11g (转)
1.1 安装前准备 1.1.1 修改操作系统核心参数 在Root用户下执行以下步骤: 1.1.1.1 修改/etc/security/limits.conf文件 输入命令:vi /et ...