Author: marshalmackes
-
Gitee webhook & 宝塔webhook 实现代码从git自动部署到服务器
首先声明该方法不建议使用在生产环境中。 下面是具体步骤 一、在gitee上创建一个仓库(不是自己的肯定不能这么玩的对吧) 二、在宝塔面板上安装“宝塔webhook”软件 三、在服务器上运行命令【$ git config –global credential.helper store】。这一步主要是为了可以自动保存git账户密码,这样不用每次拉去的时候都要输入一遍。 四、在对应的服务器文件目录下运行命令 【$ git clone https://gitee.com/xxxx/xxxx.git】输入账号密码把代码克隆下来。 五、点击“宝塔webhook”软件上的设置按钮,再点击打开中的添加按钮 六、设置对应的信息。名称写自己的。执行代码格式按这么写【cd /www/wwwroot/xxxx && git pull https://gitee.com/xxxx/xxxx.git 2<&1】,然后提交保存即可(前面设置记住git账户密码就是为了方面这里pull的时候不用输入账号密码) 七、点击“查看秘钥”查看url地址和秘钥 八、打开gitee中的对应仓库的“管理”,管理中有个webhook,点击添加,之后填写对应的url和秘钥到对应位置保存就可以了,注意上图中被叉掉的说明部分不要当url复制进去 九、以上设置全部完成后,就可以提交一个代码到git仓库了,然后你去服务器对应目录上查看就能看到你提交的代码已经被pull到服务器了。 说明完毕,祝你可以写一辈子的代码,不被996,不被炒鱿鱼。
-
如何在Godaddy服务器上使用PHPMailer发送邮件
在很久很久以前这是一个简单的事情,但是现在好像不太简单了,不过还是可以搞定的。 第一步:在godaddy上开通一个对应自己域名的邮箱。点击“My Products”,然后打开“Email & Office”,点击 Office 365 Starter Email(这个没有的话需要购买一下,一般是随Hosting附送的) 后面的“Set up”,然后按提示设置好就可以了 第二步:在设置过程中,我们需要在域名的DNS解析中添加几条CNAME记录, 主机(Host):smtp; 记录类型(Type):CNAME; 记录值(TXT value):smtp.secureserver.net 主机(Host):smtp; 记录类型(Type):CNAME; 记录值(TXT value):smtpout.secureserver.net 主机(Host):smtp; 记录类型(Type):CNAME; 记录值(TXT value):v=spf1 a mx ptr include:secureserver.net -all 第三步:PHPMailer配置 $mail = new PHPMailer(true); $mail->SMTPDebug = 1; $mail->IsSMTP(); $mail->SMTPAuth = false; $mail->Host = "localhost"; $mail->Port = 25; $mail->SMTPSecure = "none"; $mail->SMTPOptions = array( "ssl" =>…
-
区块链启示录0
最近区块链很火,比特币越来越接近现实。很多人都在投资比特币,政府也在大力推行区块链技术。这引起了我的注意。 区块链技术是一种基于加密安全、相互信任的一个去中心化协议技术,比特币、莱特币、以太币等这些代币是基于区块链产生的附属物品。这个怎么理解呢?这个就是类似人类社会在发展过程中,原来从以物易物的方式转换到了用钱币来进行等价交换。在社会发展中我们可以看到,钱币实际上是在物物交换中产生的一种代币。所以代币本身的价值是需要由物品的实际价值来体现的。好比美元、人民币、欧元等,它们的价值体现在黄金,也就是我们通常所说的含金量。 从这里来看,我们会用美元、人民币、欧元等现实的币来购买黄金以达到一定的升值,也可以购买古代的一个收藏品来提高价值,也可以购买一套纪念币来提升价值(这里注意是纪念币而不是用于流通的币,假如你把纪念币用于流通那它的价值就和普通的一样了)。但是我们不能说用100元人民币去购买1000元人民币,然后等后来者花100+的钱来回购你的这个1000元人民币(这里不包括纪念币)。 代币本生的价值应该体现在它是否可以购买到哪些实物来他体现,不应该通过币种之间的操作来提升它的价值。很多人都说有些人通过抄比特币赚到了很多钱,但是我想问一下,你知道是哪几个人吗?你知道这样的人有多少吗? 而后,我注册了一家公司艺链科技,主要热衷于区块链落地项目,同时在为基于区块链应用项目中规避大家对代币的哄炒以达到一定的真实的价值而努力
-
REST and PHP 实现
js 基于jquery $.ajax({ url : "[yoururl]" , // 处理的请求路径 type : "put" , // 此处发送的是PUT请求(可变更为其他需要的请求) dataType : "json" , // 返回的数据类型为json类型 success : function(data) { } , error : function(data) { } }) ; php 接收put信息 $_PUT = array(); if ("put" == $_SERVER["REQUEST_METHOD"]) { parse_str(file_get_contents("php://input"), $_PUT); var_dump($_PUT);
-
微信公众号开发服务器配置 token验证失败 PHP
公众号开发服务器配置 token验证失败 问题 注意点:服务器地址应该是具体到接收验证消息的具体地址 然后具体地址下的验证token的代码如下(PHP代码) public function checkSignature() { $signature=$_GET["signature"]; $timestamp=$_GET["timestamp"]; $nonce=$_GET["nonce"]; $echostr=$_GET["echostr"]; $tmpArr = array($timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode('',$tmpArr); $tmpStr = sha1($tmpStr); if($tmpStr==$signature){ echo $cehostr; }else{ echo 'check error'; } } 一段代码搞定,微信对应文档上的代码让人不知所云,各种坑,先整理可用,直接复制使用 微信对应文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 中的第二步
-
解决ios下html5的ifream页面无法滑动的问题
html5移动开发有时会用到ifream镶嵌页面,如下图: <iframe width="100%" height="100%" frameborder="0" src="http://wap.nxzhly.com/wap/index.htm"></iframe> 但是测试发现,页面在android下显示很正常,但是ios下页面无法滑动 解决方案: <div style="width:100%;height:100%;-webkit-overflow-scrolling:touch;overflow-y:scroll;"> <iframe width="100%" height="100%" frameborder="0" src="http://wap.nxzhly.com/wap/index.htm"></iframe> </div> 给ifream加上一个父控件,并且设置滚动
-
支付宝接口文档阅读前说明(使用前说明)
最近对接了一下支付宝商户会员卡功能,第一次认证的看完对应接口的所有文字,但是还是搞不定,还好有支付宝内部人士的给力支持,才得以快速的弄完。下面我简单说明一下文档中的一些细节点和关键词等所代表的意思 1、节点类型说明: 1.1、TemplateStyleInfoDTO 或 xxxxxInfoDTO 对应的json格式是一个对象例如:{“title”:"标题","url":"链接地址"} 1.2、TemplateBenefitInfoDTO[] 或xxxxxInfoDTO[] 也就是后面多了中括号的,对应的json格式是一个数组形式,例如:[{“title”:“标题”,"url":"链接地址"},{'title':'标题',"url":"链接地址"}] 或 [“内容1″,”内容2”] 2、标准代码: 有些地方需要输入自定义标识Code代码内容,需要注意的是,支付宝也提供了一些标准,比如:“BALANCE”,“POINT”,“LEVEL”,“TELEPHONE”那么我们在使用中需要避开这些Code,这好比是程序中的关键字,是有特定用途的,不可以用在自定义内容上。 3、返回格式: 在会员卡开发的相关接口中他们的返回格式都是一直的,但是有些接口需要我们调用工具类API,例如:“换取授权访问令牌”,“换取应用授权令牌”等,这些工具类API的返回数据格式是不同的,需要特别注意一下。 4、错误提示: 本人用的是PHP进行对接的, 支付宝给到的对应SDK中,没有抛出对应的详细的错误,比如某个字段的格式不正确,需要我们做一些简单的修改以方便看清具体的错误内容。 其他更多可能会遇到的问题,如果后续有发现会持续更新。祝大家对接愉快!!!
-
ckfinder 3.x 文件上传重命名修改方法(the way of how to rename file name when upload with ckfinder 3.x)
最近在开发中发现,原来的ckeditor已经无法适应手机浏览器了,后来看到最新的ckeditor 4 可以很好的使用于手机端。于是乎我就顺便把ckfinder也换成最新的3.4.2版本了,这下苦恼了,文件重命名又要重新做了,搞了老半天没弄好。于是还是从CSDN上下了个3.0版本的,想想3.x的写法应该会是一样的。通过文件对比后发现果然是差不多的(框架结构上)。然后我就自然的快速找到了解决方法(自然是因为我前面已经看了很多,所以上手才快)。废话好多,记录一下: 打开对应文件[your ckfinder root path]/ckfinder/core/connector/php/vendor/cksource/ckfinder/src/CKSource/CKFinder/Command/FileUpload.php (文件够深的) 找到:$fileName = $uploadedFile->getFilename(); 在这 一行后面加入: $fileName = uniqid() . '.' . $uploadedFile->getExtension(); ok finished,其他的命名方式你们应该懂的 3.x开始不再是和之前一样,直接用move_upload_file 来存储上传文件了,而是通过move_upload_file 先创建一个ck开头的tmp文件,然后通过file_put_contents来存储,按照官方的文档显示,我们可以制作自己的扩展程序,比如添加水印,来满足个性化需求。
-
ckedit+ckfinder 图片上传时取消宽高样式自动输入
方法来自:http://bbs.csdn.net/topics/391851823 roby520的回答 亲测有效版本:4.1 把ckeditor/plugins/image/dialogs/image.js中的 this.imageElement.getAttribute("style") || this.imageElement.removeAttribute("style"); 改为 this.imageElement.setAttribute("style")&&this.imageElement.removeAttribute("style");
-
原生JS 和 原生PHP 长连接 简单实现
虽然长连接这个东西已经被广泛使用,但是真的想要了解是什么样子的时候,相关的DEMO却很少,所以本人觉得有必要记录一下 html+JS: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>sokit demo</title> <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.css"/> <style type="text/css"> .msg-container{ height: 300px; overflow-y: scroll; overflow-x: hidden; padding-top: 50px;} .msg-item{padding: 15px; line-height: 1.5em;} .msg-item.right{ background: #;} .msg-item.label{ display: inline-block;} </style> </head> <body> <div class="container"> <div class="text-center">hello mackes</div> <div class="msg-container"> <div class="col-xs-12 form-group"> <div class="col-md-8"> <div…