Flyertutor


  • 首页

  • 归档

  • 分类

  • 标签

php 使用 redis 保存 session

发表于 2016-12-14 | 分类于 PHP

使用步骤

  • 首先要安装phpredis扩展
  • 配置session支持redis
  • 启用session

安装 phpredis 扩展

参考项目地址中介绍的安装方法 地址,其实就是 php 使用 phpize 编译安装扩展的方法

配置session支持redis

  1. 即时配置,直接在php文件中配置,只是运行脚本中生效

    1
    2
    ini_set('session.save_handler','Redis');
    ini_set('session.save_path','tcp://localhost:6379');
  2. 配置php.ini,全局生效,配置完记得重启http服务器

    1
    2
    3
    4
    5
    6
    7
    session.save_handler = redis
    //多节点
    session.save_path = "tcp://ip:port?auth=secret?weight=1&timeout=2.5,tcp://ip2:port2?weight=2"
    //单个节点
    session.save_path = "tcp://ip:port?auth=secret?weight=1&timeout=2.5"
    //socket 方式
    session.save_path = "unix:///var/run/redis/redis.sock?persistent=1&weight=1&database=0"

上面两种配置方式,可以根据自己的需求进行配置。

阅读全文 »

Yii2 使用 RBAC

发表于 2016-12-13 | 分类于 Yii2

今天突然想到改写一下公司的权限系统,想到了 rbac 的权限认证系统,就用 yii2 实现了一个例子,具体如下:

由于 yii2 自带 rbac 的实现,所以我只是稍做处理就实现了简单的权限认证

配置

1
2
3
4
5
6
7
8
9
10
11
12
# 如果使用 base 模板的话,打开 config/web.php
# 如果使用 advance 模板的话,打开 common/config/main.php

添加配置

'components' => [
...
'authManager' => [
'class' => 'yii\rbac\DbManager',
],
....
]

建表

实现有两种方式,第一种直接可以用 yii2 自带的命令工具 yii,执行命令

1
yii migrate --migrationPath=@yii/rbac/migrations/

第二种方式就是找到 vendor/yiisoft/yii2/rbac/migrations/schema-mysql.sql,由于我是用的是 mysql 数据库,所以使用这个文件。
直接将 sql 执行,建立数据表,下来我们就构建测试数据。

阅读全文 »

Vue-router 使用

发表于 2016-12-12 | 分类于 Vue

介绍

用 Vue.js + vue-router 创建单页应用,是非常简单的。使用 Vue.js 时,我们就已经把组件组合成一个应用了,当你要把 vue-router 加进来,只需要配置组件和路由映射,然后告诉 vue-router 在哪里渲染它们。

如果你只是开发简单页面的话,就没必要用到此功能,但是需要开发单页应用的话,vue-router 将是不错的选择

下面给出一个例子说明 vue-router 的使用

详细说明,可参考 官方文档

阅读全文 »

C 语言实现栈

发表于 2016-12-11 | 分类于 C

定义

  1. 栈 stack 是限定仅在尾部进行插入和删除操作的线性表
  2. 我们把允许插入和删除的一端称为栈顶 top,另一端称为栈底 bottom,不包含任何数据的元素为空栈
  3. 栈又称为后进先出 Last in First Out 的线性表,简称 LIFO 结构
  4. 当 top 为空时,表示空栈

注:

  1. 首先栈是一种特殊的线性表,其具有线性表的关系,前驱和后继,而且特性属性,从栈顶进,从栈顶出
  2. 栈底是固定的,最先进栈的在栈底 bottom
  3. 栈的插入操作称为 入栈 push
  4. 栈的删除操作称为 出栈 pop
阅读全文 »

C 语言实现队列

发表于 2016-12-11 | 分类于 C

定义

  1. 队列是只允许在一端插入,一端删除的特殊线性表
  2. 队列先进先出 First In First Out,简称 FIFO
  3. 允许插入的一端叫做 队尾元素,插入操作叫做 入队
  4. 允许删除的一端叫做 队头元素,插入操作叫做 出队

操作

  1. initQueue 初始化
  2. destroyQueue 销毁队列
  3. clearQueue 清空队列数据
  4. emptyQueue 判断队列是否为空
  5. inQueue 入队
  6. outQueue 出队
  7. getLength 获取队列长度
  8. getFront 返回队头元素

注:

  1. 这种方式很像我们生活中的派对,排在第一个的优先出队,排到最后的,最后出队
  2. 插入操作在队尾进行,删除操作在队头进行
阅读全文 »

deployer 部署PHP项目

发表于 2016-12-11 | 分类于 PHP

经常部署 PHP 项目,会把代码传到多台服务器上,平时用 FTP 进行上传,一方面由于上传的人为操作,非常的麻烦,
有时还会出现几台服务器代码不同步的现象。这时就迫切的需要一个管理项目上线部署的工具,恰好在网上搜到了 deployer,
就试用了一下,感觉还不错,将使用过程做下记录。

安装

首先是现在安装 deployer
地址

1
2
mv deployer.phar /usr/local/bin/deployer
chmod +x /usr/local/bin/deployer

安装完毕之后,在需要部署的目录里面生成 deployer.php 部署文件

1
deployer init   // 生成 deployer.php 文件

对 deployer.php 文件进行编辑

阅读全文 »

Makefile 书写

发表于 2016-12-09 | 分类于 C

Makefile 是定义管理工程编译依赖,在 Linux 系统编译 c/c++ 得到良好的使用
其定义指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作
因为 Makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令

Makefile 带来的好处就是——“自动化编译”,一旦写好,只需要一个 make 命令,整个工程完全自动编译,极大的提高了软件开发的效率。

规则

1
2
3
4
target ... : prerequisites ...
command
...
...

举个栗子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
demo: max.o min.o sum.o avg.o
gcc -o demo max.o min.o sum.o avg.o
max.o: max.c
gcc -c max.c calc.h
min.o: min.c
gcc -c min.c calc.h
sum.o: sum.c
gcc -c sum.c calc.h
avg.o: avg.c
gcc -c avg.c calc.h

.PHONY : clean
clean:
rm demo max.o min.o sum.o avg.o

阅读全文 »

MySQL 的备份和恢复

发表于 2016-12-09

备份整个数据库

1
mysqldump -uroot -proot database > /dir/database.bak;

备份数据库下的某张表

1
mysqldump -uroot -proot database[tb1 tb2] > /dir/database.tb.bak;
阅读全文 »

Linux 最常用一些命令

发表于 2016-12-09 | 分类于 Linux

grep 文本搜索工具

  • -i 忽略大小写
  • -v 不显示匹配行
  • -c 显示符合条件的行数值
  • 文本搜索支持正则表达式
1
2
3
cat /etc/passwd | grep root // 显示包含root的所有行
cat /etc/passwd | grep -v bash // 显示不包含bansh的所有行
grep 'search' ./ -r //查看当前目录下文件中有 search 的行

tar 解压缩

  • -x 解压文件
  • -z 支持giz方式
  • -j 支持bzip2方式
  • -v 显示操作过程
  • -f 制定文件
  • -C 解压到指定目录
  • -W 确认压缩文件的正确性
  • -t 显示压缩文件的内容
1
2
3
4
5
6
7
tar zxvf file.tar.gz // 解压当前文件
tar zxvf file.tar.gz -C /dir // 解压文件到指定目录
tar zxvf file.tar.gz file // 将file文件解压出来
tar jxvf file.tar.gz2 // 解压giz2压缩的文件

tar zcvf file.tar.gz source // 将source 文件压缩,多个文件用空格隔开
tar jcvf file.tar.gz2 source // 将source文件以giz2方式压缩,多个文件用空格隔开
阅读全文 »

Linux ACL

发表于 2016-12-08 | 分类于 Linux

设置acl

1
2
setfacl -m u:user:rx  dir   // 给目录dir 设置用户 user 拥有rx权限
setfacl -m g:group:rx dir // 给目录dir 设置用户组 group 拥有rx权限

查看acl

1
2
getfacl dir  // 查看  dir 目录的 acl 权限
getfacl file // 查看 file 文件的 acl 权限
阅读全文 »
1…678
Flyertutor

Flyertutor

一个PHP爱好者

78 日志
9 分类
16 标签
GitHub
© 2018 Flyertutor
由 Hexo 强力驱动
主题 - NexT.Gemini