Cann Blog

哟~ 看!

纯净的CentOS系统搭建Lnmp环境,部署Laravel项目流程

安装wget yum install wget 安装LNMP环境 下载并安装lnmp一键 1.5完整版: mkdir ~/software cd ~/software wget -c http://soft.vpser.net/lnmp/lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 &a...

Laravel Queue:restart 是如何实现队列的平滑启动的

当我们使用superviosrctl reload强制重启队列进程时,如果队列中有正在执行的任务,就会造成任务丢失,而laravel的队列提供了queue:restart命令用于解决这个问题。接下来我们来分析一下它是如何实现这一功能的。 queue:restart命令定义于Illuminate\Queue\Console\RestartCommand中: /** * E...

Yii2从入门到幼儿园--服务容器源码解析

Dependence Injection Container

Yii2从入门到幼儿园01——Dependence Injection Container 什么是依赖注入(Dependence Injection, DI) 简言之,就是将类所需要的依赖在外部实例化后再传入类中,以此降低代码的耦合性。 普通代码: class test { public $emailer; public function __construct(...

利用Git-Hook实现的PHP代码自动检测

代码检测工具:PHP_CodeSniffer 代码检测工具:PHP_Cs_Fixer(备选) 参考文章–Git-Hook文档 参考文章–Shell 切割字符串方法–IFS的使用 参考文章–销毁IFS效果 参考文章–Shell中正则的使用 需求 利用Git的hook功能,实现在git commit代码时,对本次提交的PHP文件自动进行代码规范校验,若代码符合规范,...

Nginx Location

location 一:正则写法 a 精确匹配,所匹配路径完全相同 location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } b 对URL路径进行前缀匹配 location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配...

LAMP服务器配置中遇到的一些杂项

所使用的镜像源 403 forbidden错误 原因: DocumentRoot 目录Apache没有访问权限 解决方案: 01: 将 DocumentRoot 目录所有者设为 ‘apache’ 02: <Directory "/xxx"> Options Indexes FollowSymLinks AllowOverride All Ord...

Session的垃圾回收机制

如何设置一个严格30分钟过期的Session 垃圾回收程序是在每次调用 session_start() 时都会启动的,为了避免过于频繁,影响PHP性能,我们通过在 php.ini 中的 session.gc_probability 和 session.gc_divisor 两个选项来设置启动垃圾回收程序的概率。 例如 session.gc_probability = 1,session....

PHP代码规范自动修复工具《php-cs-fixer》中文文档

官方文档 安装 composer全局安装 $ composer global require friendsofphp/php-cs-fixer 同时,确保 ~/.composer/vendor/bin目录在你的PATH中。 export PATH="$PATH:$HOME/.composer/vendor/bin" 使用 Composer安装 $ php-cs-...

PHP7实用的新特性

变量类型 PHP7版本函数的参数和返回值添加了类型限定,该项特性是为PHP7.1的JIT特性做准备。增加类型限定后,PHP JIT可以准确的判断变量类型。生成最佳的机器指令。 function test(int $a, string $b, array $c) : int { // code } JIT: JIT是Just In Time 的缩...