- 博客(26)
- 收藏
- 关注
原创 vim常用操作
前言我用过的vim操作,持续更新~正文vs 文件打开多窗口ctrl + w + hjkl 选择窗口选择模式下:e 选择一个单词自动补全:ctrl+n选中查找:shift+*显示|取消行号:set number|set nonu替换::s/a/b # 当前行第一个a,替换成b:.,$/a/b/g # 首行到尾行全部替换:n,ms/a/b/g: ...
2019-01-31 18:08:06 223
原创 php自动加载机制从0到优化
前言本文是《自制php框架》之自动加载篇,笔者参照tp5框架的自动加载相关源码,写了几个p1~p4四个demo(放在我的github了),基本体现了从0到成型框架的自动加载的编写过程。文章篇幅很长,如果你属于以下情况,建议看下:用过php框架,但不懂为何:只要use app\model\User(没有include或require)就能直接用User类。理解php是通过spl_aut...
2019-01-27 20:07:09 415
原创 linux命令汇总
前言记录自己用过的linux命令,按使用场景分类,方便自己查看,持续更新~命令用户useradd <username> ## 添加用户passwd <username> ## 给用户设置密码userdel &a
2018-06-05 00:35:52 1283
原创 安装oh-my-zsh报错could not create work tree dir '/root/.oh-my-zsh'.: Permission denied的原因&解决办法
前言linux新手可能会通过su方式切换用户,但没有意识到环境变量没有切换,导致一些奇葩问题,这里便是一个例子,值得记录。笔者在切换linux用户使用ZSH时遇到问题,确切来说是切换用户后安装oh-my-zsh时遇到问题。 问题出现的根本原因在切换用户方式上,我是通过su 某用户切换用户,而这样切换用户,环境变量仍是切换前用户的! 关于切换用户环境变量是否随之切换看这里解析。...
2018-06-04 22:26:27 10444 12
原创 记一次linux权限问题排查过程
项目目录下,无通过php mkdir的权限首先,创建目录|文件权限,由目录|文件所在目录的w权限决定。弄清楚哪个用户在mkdir。nginx配置里有userphp-fpm配置里有user显然,nginx配置的用户,一般对项目有r权限,可能还有日志所在目录|文件的w权限;而执行php函数mkdir,是php-fpm配置的用户去执行的。通过ps aux | grep php-fpm...
2019-02-13 10:20:55 610
原创 虚拟机centos6下nginx自定义目录访问报403的解决记录
前言笔者在mac上装VMWARE,再装了minimal-ceotos6.10,网络设置好后(宿主机和虚拟机互相能ping通且虚拟机能上网),在教程指导下装nginx,在宿主机通过虚拟机的ip访问,正常,但新增虚拟主机(指定到非原给定的目录),访问报403。经过层层试验,最终发现是SELinux默认开启了导致。记录下解决过程中的尝试。正文1. 新建虚拟主机域名为demo.com, 访问目录...
2019-01-07 23:09:31 1240
原创 面向对象知识总结
前言后续更新正文类属性的访问权限proteced变量,类外部不能访问和赋值。但子类能重新定义。父类private变量,子类不能访问,更不能赋值了。...
2018-10-21 23:37:31 235
原创 API的验证层
前言下文是我对API验证层的疑问和观点,主要是验证层这一层的工作内容。这些观点的具体应用,我在tp5.1下写了,链接在此正文先说下使用API的的一般流程客户端发请求:路由解析->控制器->验证层->(服务层|逻辑层)->数据库模型层操作数据库->返回固定格式的数据,当然当中包括全局的异常处理层。可以看到,一个请求,分了很多层去处理。为什么要分层?一
2018-10-21 21:04:55 439
原创 redis入门笔记
初学redis,记一下笔记。安装教程数据类型hash:key=>valuelist:双向链表。可重复set:集合。无序;不可重复zset:有序集合。命令服务管理## 开启|关闭redis服务brew services start|stop redis## 启动redis客户端redis-cli## 避免中文乱码redis-cli --raw 字符串S...
2018-10-21 18:53:40 204
原创 Mac下安装redis环境(mamp, php)
前言初学redis,在mac下安装过程遇到一些坑,尤其是下文第四点,在mamp下安装phpredis扩展过程中,记录之。本文最终实现的是用tp5框架操作redis,但这之前的几步,应该是较通用的,即不用tp5,甚至不用php,也可参考前几步。安装redis环境,究竟需要安装什么因为对redis不了解,我把redis想像成mysql去入门了,mysql有以下内容:mysql...
2018-10-21 18:37:56 2160
原创 通过composer更新thinkphp版本
过程tp5.1.19升级到tp5.1.26。进入到项目根目录,输入composer update期望更新到最新版本,但提示没有东西更新…尝试清除缓存composer clear-cache,依然不行。看到官网提示,最近phpcomposer镜像存在问题,想起我以前切换成中国镜像了,切回根镜像composer config -g repo.packagist composer https://...
2018-10-16 21:50:12 6079
原创 Mac使用过程遇到的问题记录
一、改wifi密码描述:wifi密码改了,而mac记住的是旧的密码,点击连接该wifi就一直在转,诊断也没用。解决办法系统偏好设置-网络-wifi-高级-wifi-删除对应wifi,再重新点击连接输入新密码二、盖上后重新打开,各种账号要重新登陆描述:盖上后重新打开,wifi密码要重新输入,chrome浏览器账号显示已停用,github客户端没有登陆,并且登陆时弹出GitHub Des...
2018-10-10 19:55:03 884
原创 gogs安装记录
安装添加git用户,略下载安装对应二进制包su - gituname -awget https://dl.gogs.io/0.11.34/linux_amd64.tar.gztar -xf linux_amd64.tar.gz -C /home/git 建议:gogs相关文件都放在/home/git/下查看是否安装成功/home/git/gogs/gogs web...
2018-06-05 18:38:24 804
原创 git命令汇总
前言我用过的git命令汇总,方便自己查看命令本地初始化git init查看git status ## 查看修改git log ## 查看版本历史git diff ## 查看工作区与stage区别提交git add <file> ## 提交到stagegit commit -m "说...
2018-06-05 17:11:04 231
原创 ngrok客户端使用&ngrok服务搭建——实现外面调试本地站点
前言这里不是完整教程,仅记录ngrok搭建过程中一些坑和ngrok理解。ngrok客户端推荐一个免费的ngrok服务器,这里,按里面说的使用一遍,应该明白ngrok的作用和ngrok客户端的概念了。ngrok服务端上面是用了别人搭好的ngrok服务器,这里用自己的服务器搭一个ngrok服务。 这里教程很详细。最好严格按照教程顺序例如第一步是域名解析,我原本的理解是,...
2018-06-03 18:35:52 1607
原创 docker初学
前言初学docker,记录下,强烈推荐这篇文章理解docker。知识git用过git的同学肯定感受到通过git管理代码是多么方便,我认为git主要作用有本地管理代码版本:提交,回退,查看修改。如果没有git,可能会整天担心,改动这里,会不会影响原本其他功能?有git,影响了,就回退吧,写代码顾虑少了很多。远程代码版本同步:闻说,很久以前将代码部署到服务器是用ftp的...
2018-06-03 13:42:59 351
原创 面向对象的接口使用前人代码的方式
用别人框架写功能过程中,慢慢体会到面向对象的好处。 本文角度比较小,仅从使用前人代码的角度分析。继承面向对象三大特性之一继承,挺好理解的(当然也可能是我理解不全),子类继承父类,子类就拥有了父类的方法,属性。站在开发者角度,我自建控制器继承框架提供的基类控制器,自建模型继承框架提供的基类模型,然后就可以使用基类beforeSave(),afterSave(),validate(),及各种...
2018-05-11 16:47:37 350
原创 yii2实现token认证(源码分析)
笔者在学习用yii2写restful api的token认证部分遇到困难,官网教程没看懂~,解决后,记录之。yii的RESTful 授权认证官方教程链接,大概意思如下:yii2提供了3种验证token方式,需要在具体控制器指定使用哪种(也可以都使用),这里以QueryParams方式为例,即通过$_GET参数方式接受token,代码如下:public function beh...
2018-05-11 12:21:03 6165
原创 php clone的使用场景
据我所知,php复制对象有以下三种方式:<?phpclass a{ public $v = 1;}$obj = new a();// 1. clone方式// $copy_obj = clone $obj;// 2. 标识赋值方式// $copy_obj = $obj;// 3. 引用赋值方式// $copy_obj = &$obj;$copy_obj...
2018-05-10 11:03:10 3320 1
原创 yii的urlManager组件配置
配置组件主要包括:指定类。缺少的话使用默认类属性。缺少的话使用默认类的对应属性1 组件简单理解urlManager官方文档介绍 ,从官网文档看到,urlManager是一个类,为什么又把它称为组件呢?先不用管,我们只需知道,要为组件指定类即可,如果没有指定会报错,除非该组件有默认类,哪些组件有默认类呢?就是核心组件,装个B看下源码,以yii高级模板为例。 Pis:如...
2018-05-04 20:13:07 2667
原创 apache配置虚拟主机
前言这类文章有很多,这里更偏重理解(个人理解),供参考意义:我刚开始学php时,按网上教程配起来没问题,但不理解为什么要配虚拟主机,为什么在直接用localhost/**项目/文件能访问情况下,还要建虚拟主机,通过虚拟主机\文件方式访问? 后来学了服务器,逐渐理解了,这和写代码道理类似,为什么要写函数,写类,为什么要MVC,而不是很直白的一个函数里写一堆代码解决问题?写多了,自然...
2018-05-01 11:39:20 684
原创 第三方登陆理解
前言今天注册杭电OJ账号时发现能qq登陆,点了用手机扫二维码成功登入,但要求与该OJ系统已有账号绑定,这引发了我对第三方登陆的思考,要绑定的吗?印象中有的要绑定,有的qq登陆后就不用处理了能正常使用了,一直没弄明白也没去想,虽然是很老的东西了,但自己理解了的就值得记录。理解A系统(网站或app)使用了qq第三方登陆,即意味着有至少有2种方式可能登陆,一种是通过qq登陆,另一种是通过系统...
2018-02-26 23:53:37 376
原创 apache安装模块工具apxs
前言以下是在自己的腾讯云vps(ubuntu16.04)操作,通过oneinstack安装lamp的,本文通过apxs安装mod_proxy.so模块。正文apxs是apache管理模块的工具,它做的是将mod.c生成mod.so,并使其能被apache加载,使用apxs的前提:mod_so已被加载 + 查看相关信息## 注:以下httpd路径以自己服务器为准## 查看是否加载
2018-01-07 16:46:18 5499
原创 ubuntu16.04下nginx,apache,php-fpm配置
昨天在ubuntu16.04下安装了lamp,一切正常,想着再装个nginx服务器来玩下先是下载安装了nginx,php-fpmsudo apt-get install nginxsudo apt-get install php-fpm关于php-fpm 作用,我的简单理解是:`client->nginx->php-fpm->php-cgi`但nginx与apach
2018-01-05 13:37:41 3097
原创 mysql5.7 root密码登录失败解决方法
前言今天在ubuntu16.04装好lamp环境,安装mysql时忘记输入root密码是什么了,安装成功后登录不进去,这里记录解决方法。忘记root密码情况下:关闭mysql服务sudo service stop mysql使用安全免验证模式进入mysql:#注意要加sudo,否则可能运行不成功sudo mysqld_safe --skip-grant
2018-01-05 11:08:06 1128
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-11-30 19:02:41 258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人