码云,git , php 使用 webhook 实现本地推送master 及时上线

在项目开发中我们经常使用git来更方便管理自己的项目;有用github、gitee、gitlab的;有一种场景在项目开发中经常遇到;一般情况下我们开发会有3个分支测试分支:test开发分支:dev正式分支:master我们再本地dev开发分支上进行开发,合并到test分支进行测试,测试完毕合并到master分支进行上线;那么如何做到在master分支push之后正式环境的项目也同时进行pull?我们选用 ssh 的方式对项目进行clone,防止安全以及来回输入密码的问题;因此使用ssh更方便;也就是在master分支上进行推送,项目就上线!首先找到linux 上 php-fpm 的运行...

php 2021-02-07 PM 48℃ 0条

Element ui 在IE11下的各种不兼容问题

前不久刚发布了Yaf-element,平时开发多数使用谷歌内核的浏览器;而刚好element在谷歌内核浏览器运行完美;今天在使用Yaf-element做完一个项目交给客户之后;他平时不怎么用电脑,浏览器也没升级;因此使用万恶的IE浏览器下发现了很多问题;例如:打开页面一篇空白table 搜索问题函数识别问题等今天刚好有空来解决一波:问题主要是 ElementUI + vue 中使用了一些ES6的语法,而IE对ES6的支持程度很低,因此我们要兼容IE就必须把ES6语法替换成ES5;刚好browser.js 可以解决这个问题;首先百度搜索一下browser.js并下载引入到项目中<sc...

php 2021-02-04 PM 70℃ 0条

2021阿里云免费SSL证书新体验,再也不担心https不会配置了

之前写过一篇免费试用ssl的文章;https://www.phpbloger.com/article/351.html不过现在这个网站更新之后只能申请90天的免费证书了;过期之后我们又需要重新申请,比较麻烦;避免一年内重复劳动,而且还要监控过期时间;那么我们再选用阿里云的免费证书,有效期一年;下面来说下申请与安装步骤:登录阿里云后台,进入到控制中心;点击左上角产品与服务,ctrl + f 找到ssl证书,如下图;选择证书资源包,点击立即开通选择免费证数、资源包选择20个,超过20个需要交钱。点击购买之后一通操作之后完成,进入到主页面;此时能够看到剩余证书剩下20次,点击申请证书;选择单域...

其它 2021-02-03 PM 72℃ 0条

如何将项目同时提交到码云和github代码仓库

作为一个程序员通常都有分享代码的习惯;那么代码流行的代码仓库有:giteegithub当我想将一个开源的项目同时放再gitee,github上时,正常思路:岂不是要建立2个本地仓库?同时修改2份代码再提交?这么麻烦,有没有一种方法可以实现,做一份代码修改同时可以提交到2个代码仓库呢?答案是可以,只需要更改配置即可,我们以为Yaf-element为例:新建仓库yaf-element 在gitee 的仓库地址为:https://gitee.com/phpbloger/yafelementyaf-element 在github的仓库地址为:https://gitee.com/phpbloger...

其它 2021-01-29 AM 82℃ 0条

yafelement集成markdown编辑器(editor.md)

yafelement在这个版本markdown编辑器(editor.md)组件化了,只要在模型中设置字段类型未editor该模块将自动加载markdown编辑器;看一下效果:该编辑器支持很强大的功能、比如公式、流程图、目录生成等等:说到这里,我知道你并不知道yaflement是什么东西,这个一个我自己用yaf改写的一个简易框架。因为经常做项目,经常需要做后台,而且项目的定制化比较高,很难直接用cms实现,并且cms的东西比较多,我们用不到,二次开发也比较费事,之前也使用tp5、tp3、yii等框架开发过一些后台但是总感觉不是很完美、东西比较多,用起来虽然简单但是还是不够简洁、因此yafe...

php 2021-01-22 PM 86℃ 1条

PHP如何正确的使用Redis的SETNX设置一个并发锁

最近有朋友问如何使用Redis的SETNX设置一个并发锁(针对的是同一个用户在同一点进行一次行为操作),他发了一段代码,我们看看问题;先来看下php 中setNx这个函数的介绍:Set the string value in argument as value of the key if the key doesn't already exist in the database. 如果键在数据库中不存在,则将参数中的字符串值设置为键的值setNX,是set if not exists 的缩写,也就是只有不存在的时候才设置, 设置成功时返回 1 , 设置失败时返回 0 。可以利用它来实现锁...

php 2021-01-05 AM 142℃ 0条

一条sql语句是如何执行的?

我们在执行sql的时候,常常是直接写好值行即可、不是所有人都会思考一下这一条sql是如何值行的?比如 select * from `user` where `uid` = 110; 输入一条语句,那么他的值行过程是怎样的呢?经过拆解下面大概是一条sql的执行流程;连接器php客户端通过pdo、mysqli 链接mysql,如果用户名密码认证通过,连接器会到权限表里面查出你拥有的权限。之后,这个连接里面的权限判断逻辑,都将依赖于此时读到的权限;查询缓存MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的语句及其结果可能会以 key-value 对的形式...

php 2020-11-17 PM 183℃ 0条

用php手写一个简单的MVC框架只需要几十行代码

说到php框架就不得不提MVC,现在主流框架都沿用的MVC的架构思想;我们学php初都会学习MVC,学习其运行流程、学其面向对象的思想;先来回顾一下MVC:MVC概念MVC包括控制器(Controller),模型(Model),视图(View)。控制器的作用是调用模型和 视图,将模型产生的数据传递给视图,并让视图去显示模型的作用是获取数据并处理返回数据视图的作用是将取得的数据进行美化,并向用户终端输出(2)执行过程浏览者 -> 调用控制器,发出指令控制器 -> 按指令选择合适的模型模型 -> 按指令取数据控制器 -> 按指令选视图视图 -> 把取到的数据展示...

php 2020-07-29 PM 550℃ 1条

PHP如何区分正式、生成和测试环境

日常开发中区分环境的重要性不言而喻;重点是根据环境加载不同环境的配置文件(数据库、redis、三方接口等);如果维护同一个文件很容易操作失误导致正式与测试数据混淆;有很多吃过大亏的小伙伴就是因为没有区分环境;一个简单的方法来区分正式、测试和生产;【Nginx】在配置环境server段location中添加相应的配置信息(fastcgi_param ENVIRON ):location ~ \.php($|/) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastc...

php 2020-07-28 PM 441℃ 0条