场景是这样的,我用tymon/jwt包做鉴权.jwt是自编码token,过期前想要强制失效只能将其加入黑名单中,黑名单一般用缓存存储. 但会有一个问题,若某种意外情况不小心执行了php aritsan cache:clear,那么当前使用的缓存数据库(配置文件中设置,默认config/database.php->redis->default)会被清空,而tymon/jwt包也是用default数据库的,故黑名单的token也会被一并清空. 如何在不改第三方包的前提下修改黑名单使用的redis数…
Laravel项目修改时区 最近做了一个支付宝支付的应用,现在还在开发过程中,今天早上起床之后先调试了一下项目,模拟支付了一笔(¥9999.00) 2333支付宝的沙箱环境啦,屌丝程序猿哪来这么多钱-- 打开Navicat查看数据库的时候,意外发现created_at字段的时间不大对啊,少了8小时,显示凌晨4点创建的支付订单.(没错,我睡到12点才起来的) 然后,首先意识到了PHP的时区配置不对,立即打开Wamp环境查看了一下,timezone是...Asia/Shanghai.额,这就很不科学…
laravel jwt 做API 退出登录(注销) 该怎么弄? 如何让token失效 php框架 laravel 2.1k 次浏览 问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 laravel jwt 做API 退出登录(注销) 该怎么弄? 如何让token失效?百度找了一圈都没有.. 关注 | 4 收藏 | 1 评论 邀请回答 编辑 seeya001  97 2018-03-29 提问 默认排序时间排序 3 个回答 答案对人有帮助,有参考价值0答案没帮…
创建迁移 首先,让我们创建一个MySql数据库“Laravel_db”.接下来打开app/config目录下的database.php文件.请确保default键值是mysql: return array( ... 'default' => 'mysql', 然后输入你的数据库配置信息: ... 'connections' => array( 'mysql' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'data…
database migrations 是laravel最强大的功能之一.数据库迁移可以理解为数据库的版本控制器. 在 database/migrations 目录中包含两个迁移文件,一个建立用户表,一个用于用户密码重置. 在迁移文件中,up 方法用于创建数据表,down方法用于回滚,也就是删除数据表. 执行数据库迁移 php artisan migrate #输出 Migration table created successfully. Migrated: 2014_10_12_000000…
为什么要这样做? 默认情况下,Redis 服务会提供 16 个数据库,Laravel 使用数据库 0 (请见 Redis 文档)作为缓存和 Session 的存储. 在使用的过程中觉得这个默认的设置挺不合理,因为当你在执行命令 PHP artisan cache:clear 的时候,会把 Session 也连带清除了,导致所有用户需要重新登录. Session 存储的其他选择: file - 存储在文件中,读取太频繁,磁盘存储比起内存存储速度没法比,为了方便,开发时可以随便玩一玩,生产环境不建议…
安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证码,一些app马上就能自动获取并填上验证码,省去我们手动填写验证码.原理就是通过Android的ContentProvider组件间接访问系统的短信数据库,获取所有短信内容.下面来演示一下. 布局很简单,如下: 代码如下: public class MainActivity extends Acti…
本文采用我软件里面的内置改密功能,可以一键强制修改Mysql数据库的密码, 在修改过程中,会强制干掉Mysql主程序,修改完成后重新启动Mysql就可以了. 首先讲解如何一键强制修改PHPWAMP自身的Mysql密码 然后再讲解如何一键强制修改其他任意环境的Mysql数据库密码. 案例采用我开发的纯绿色PHP集成环境PHPWAMP,版本号为8.1.8.8 1.案例开始,首先讲如何强制修改PHPWAMP自身Mysql数据库密码,如图 2.弹出如下界面,在红方框处直接填写你要修改的密码即可!完成!…
Twemproxy是一个代理服务器,可以通过它减少Memcached或Redis服务器所打开的连接数.下面这篇文章主要给大家介绍了关于laravel项目利用twemproxy部署redis集群的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下 前言 twemproxy是twitter开发的一个redis代理proxy,Twemproxy可以把多台redis server当作一台使用,开发人员通过twemproxy访问这些redis servers 的时候不用关心到底去哪一台redi…
最近用MVC+EF学习时遇到修改model后而数据库没更新报错,就在网上找关于数据迁移自动更新数据库的,折腾了大半天终于弄了出来 第一步:在程序包管理器控制台里: Enable-Migrations -ProjectName EF所在的项目名称 第二步:运行后会在字段生成Migrations文件夹,Migrations->Configuration.cs 类里把AutomaticMigrationsEnabled改为true(即设为model有改动自动更新数据库) 如有删除字段则要加 Autom…
安装redis和连接redis数据库 在controller头部引入 一.基本使用 public function RedisdDbOne() { // 清空Redis数据库 Redis::flushall(); // redis的string类型 Redis::set("laravel","Hello woshi laravel"); dump(Redis::get("laravel")) ; // redis的哈希类型 Redis::hmse…
​ 案例说明: 集群环境修改集群或数据库参数,需要在每个node上都要修改,在每个节点而执行修改操作,容易出现漏改或节点上参数不一致等错误:在KingbaseES V8R6的集群中增加了,一键修改参数的新功能,可以在一个节点配置后,同时修改集群中所有节点的参数,这样用户在修改集群中的参数时,避免以上错误的发生. 官方文档说明: https://help.kingbase.com.cn/stage-api/profile/document/kes/v8r6/html/highly/highly-t…
laravel版本为5.5 1.使用 composer 安装 composer require tymon/jwt-auth 1.*@rc 2.发布配置文件 # 这条命令会在 config 下增加一个 jwt.php 的配置文件 php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" 3.生成加密密钥 # 这条命令会在 .env 文件下生成一个加密密钥,如:JWT_SE…
默认假设 所有的列在定义的时候都有默认的假设,你可以根据需要重写. Laravel假定每个表都有一个数值型的主键(通常命名为”id”),确保新加入的每一行都是唯一的.Laravel只有在每个表都有数值型主键时才会正常运行.所以,对于每一个Laravel应用,都要确保定义的主键使用的是increments()方法. 列在默认情况下为NOT NULL. 现在,让我们一行行分析结构生成器生成的authors表,下面是up()方法中的代码: // auto increment id (primary k…
其实官方文档有说,只是没看仔细. 正常情况下,修改 php 代码是不用重启什么东西的, 但是 laravel 中的 job 不一样, 如果不用 php artisan queue:restart,新 dispatch 的 job 跑的还会是原来的代码. 也就是说,如果发现 job 有 bug,改了之后可能不会生效,除非有重启过队列. 如果使用 supervisor,可以使用 supervisor restart xxx 来进行重启. 个人觉得原因是,运行 php artisan queue:wo…
为什么要做隔离 当同一个laravel项目有多端(移动端.管理端......)都需要使用jwt做用户验证时,如果用户表有多个(一般都会有),就需要做token隔离,不然会发生移动端的token也能请求管理端的问题,造成用户越权. 会引发这个问题的原因是laravel的jwt token默认只会存储数据表的主键的值,并没有区分是那个表的.所以只要token里携带的ID在你的用户表中都存在,就会导致越权验证. 我们来看看laravel的jwt token 的原貌: 1 2 3 4 5 6 7 8 9…
http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html亲测方法3,已成功重置密码.(感谢@非常,告诉我官网就有重置方法,网上搜了一堆堆...另外,step1和2来源于http://www.2cto.com/database/201303/197067.html英文不好,官方的没太看明白# #)step1:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server…
1 登录 mysql client 打开 mysql client -输入密码 123 回车 2 show database; ---显示数据库 3 切换数据库:use mysql 4 describe user;----显示表结构 5 修改密码:格式:mysql> set password for 用户名@localhost = password('新密码'); 6 create database mydatabase; -----创建数据库 7 create table newtable (…
如图,一个服务(service)对应一个用户(user),一个用户对应多个标签(tag),同时一个tag也可以通过中间表(pivot)对应对个用户. 现在业务需求如下:查service,这些service对应的user同时拥有tag1.tag2.tag3.tag4标签. 一个很容易犯的错误如下: $tags = ['tag1', 'tag2', 'tag3', ''tag4]; $query = ServiceModel::query() $query->whereHas('user.tags'…
一.需求: 因公司需求,需制作mysql5.7.22 docker基础镜像,每个项目以此镜像启动一个数据库容器,并且每个项目挂载一个宿主机目录到镜像中数据存储下面用于数据持久化保存以便后期迁移至阿里云. 二.遇到问题 将宿主机中相应项目的目录挂载到容器后需要将容器中此目录的用户权限修改为mysql:mysql,但是修改权限后宿主机相应目录权限却由开始的root变成宿主机用户中的hrz. 启动命令如下: docker run -it -d --name mysql_test -v /Registr…
1)laravel 的所以配置文件都在根目录下的 config 目录里,直接看一个配置文件的名字就知道是做什么的了,这里不说了 2)读取配置的方法 $value = config('app.timezone'); 即使用内置的config函数+配置文件名+配置参数名方式来读取配置的值 3)设置配置的方法(只是在运行时(runtime)配置,不会写入到配置文件里) config(['app.timezone' => 'Asia/Shanghai']); PS:上面用了数组的省略写法 4)缓存配置…
问题:用laravel开发定时任务时,发生了日志没有写入权限导致项目打不开的问题 原因:linux的添加定时任务时默认是当前登录用户,我定时任务会生成日志 crontab: kernel: 生成日志的文件所有者是当前用户yang,其他用户没有写入权限 而php的执行用户是apche 经过一番研究,这里给crontab 指定的用户与php执行的用户一致: crontab -u apache -e 写入定时执行的任务并删除之前的定时任务 亲测解决…
关于Laravel的任务调度(定时任务)的配置在此不做赘述,跟着官方文档一步一步的操作是不会导致定时任务不能正常工作的. 为保证能及时捕获定时任务执行出现异常的原因,只需在配置系统crontab时指定日志文件即可.在执行中出现的任何问题都将会记录在你指定(任意区域,需注意权限)的日志当中.这对于寻找问题原因来说,是极为方便的. * * * * * cd /path-to-your-project && php artisan schedule:run >> 你的日志文件位置.l…
保留在本地电脑的一篇记录,第二条描述是在网上看来的,忘记在哪看的了,也就没注明出处,望见谅. 1.Winform内置浏览器控件的底层调用与系统IE浏览器的底层调用相同. 2.IE8 对渲染引擎做了很大的改动,新增加一个标准模式 (Standard Mode). 当用户机器升级到IE8, WebBrowser控件也会随之升级到IE8的渲染引擎.为了保证这些使用WebBrowser控件的应用软件能够工作起来和原来一样,IE8环境下的WebBrowser控件在默认情况下使用了IE7 的渲染模式(也就是…
在config文件夹下app.php中找到timezone,有RTC改成PRC…
https://github.com/tymondesigns/jwt-auth/wiki…
1.查 public function userTest(){ return $this->all(); } public function userTest(){ return $this->get(参数); } 2.增 public function usrAdd(){ $this->user_name ='zhanfa'; $this->password ='21'; $this->save();} public function usrAdd(){ $user_dat…
该章节内容翻译自<Database Migration using Laravel>,一切版权为原作者. 原作者:Stable Host, LLC 翻译作者:Bowen Huang 正文: Laravel鼓励敏捷.迭代的开发方式,我们没指望在第一次就获得所有正确的.相反,我们编写代码.测试和与我们的最终用户进行交互,并完善我们的理解. 对于工作,我们需要一个配套的实践集.我们使用像subversion.GIT或Mercurial这些版本控制工具来存储应用程序的源代码文件,使我们能够撤消错误和追…
数据库驱动的应用程序往往需要预先填充数据到数据库,以便进行测试和演示. 什么是种子数据 种子数据就是必须要加载了应用程序才能正常运行的数据.大多数应用程序需要在开发.测试和生产中加载一些参考数据. 一般来说,这些数据不是用户创建的,尽管我们可能一次一次的修改它们:我们的数据会依赖这些数据. 种子数据通常是不变的.一般来说,在应用程序中不可被编辑.但是,要求上它是可以被更改的,如果被更改了,种子数据需要被重新加载到部署的应用程序中. 理想的解决方案是自动化的:你没必要去关心它.当你签出代码,启动你…
一.前言 Redis 是一个开源高效的键值对存储系统,它通常用作为一个数据结构服务器来存储键值对,它可以支持字符串.散列.列表.集合.有序集合. 1. 安装 predis/predis 在 Laravel 中使用 Redis 之前,你需要通过 Composer 来安装 predis/predis 包(~1.0): $ composer require predis/predis 2. 配置 Redis 的配置文件在 config/database.php.在该文件中,我们可以看到一个包含 Red…