一个快速获取/更新 Let’s encrypt 证书的 shell script

调用 acme_tiny.py 认证、获取、更新证书,不需要额外的依赖。

下载到本地

配置文件

只需要修改 DOMAIN_KEY DOMAIN_DIR DOMAINS 为你自己的信息

执行过程中会自动生成需要的 key 文件。其中 ACCOUNT_KEY 为账户密钥, DOMAIN_KEY 为域名私钥, DOMAIN_DIR为域名指向的目录,DOMAINS 为要签的域名列表, 需要 ECC 证书时取消 #ECC=TRUE 的注释,需要为 lighttpd 生成 pem 文件时,取消 #LIGHTTPD=TRUE 的注释。

运行

注意

需要已经绑定域名到 /var/www/example.com 目录,即通过 http://example.com http://whatever.example.com 可以访问到 /var/www/example.com 目录,用于域名的验证

将会生成如下几个文件

在 nginx 里添加 ssl 相关的配置

cron 定时任务

每个月自动更新一次证书,可以在脚本最后加入 service nginx reload等重新加载服务。

 

微信公众平台开发之核心类微信模型(一)

写在前面:一下内容主要阐释了,获取access_token的过程,如果已经会了,可以略过。

之前我上了两个类,一个是消息类,一个是微信的类,用于处理微信的消息和获取一些完成api开发的重要参数的类。

不过随着工作的展开,这些类,我又进行了一些更新。针对之前不完善以及不完美的地方进行更新。

还是基于ci框架的微信类。

分开一步一步来说。首先是获取基础的access_token,值得注意的是这个不是通过sns,三方网页获得的token,而是基础的。就是有调用次数限制的access_token

继续阅读“微信公众平台开发之核心类微信模型(一)”

微信公众平台消息响应(ci框架)

一下是微信统一接口代码

 

 

关于程序中文件上传的css和js

首先来说css

我们通常看到的upload是这样。

这样的是很单调的,样式。

后来的美化样式是这样的。

下面是html代码,基本思路就是用一个层覆盖了。

QQ截图20151026153257

同时使用了这样的,js。

 

 

 

关于osx中的path变量 composer的安装

今天在安装所谓的最优雅的框架laravel的时候,被环境变量搞死了。

简单的说下composer的安装

在你的目录下随意安装。我放在家目录下面。也就是cd之后的目录

然后会提醒你使用php composer.phar

下来就是为了方便起见,我门能喝官网上一样直接食用composer来进行操作,就要如此

然后你就可以正常使用了。

接下来就是安装 laravel了

再就是使用laravel这个命令,我们就要写path变量

请把zhangsan自觉换成你自己的名字。

然后还要一步让他生效

在echo path看看。就知道了是否添加成功,这样就可以使用laravel这个命令了。

 

  business listing

json_encode函数的中文注意

在程序开发过程中,我们经常会使用json数据

那么其实中文的时候有时候会出现字符的问题。

尤其在做js交互的时候,经常会和json打交道。就像之前我写的那个联动菜单。

解决中文编码问题的方式在php5.4中

这样的参数来解决,如果是5.4以下的,网络上提供了这样的方法。

来解决。

select表单的美化

这两天做程序的时候碰到了,关于select表单的美化,思前想后觉得伪造是比较好的方法。

在不使用jquery别人写好的插件的时候。这是个想法。

原理:先通过select表单,把相关的div和ul li伪造成表单的样式,select表单隐藏,通过js操作伪造的div对select表单进行控制。最后达到正常的表单提交的方法。

html在这里

当然你也可以使用先伪造表单在通过<input  type=”hidden” value=”” />中的value值来进行提交,过程略显得简单。

不过,需要注意的是,伪造表单中ul li的li中的可以自定义一个属性值,比如data来存放select option 的value值。然后把这个value值发送给input的value中。

redis 消息队列的php使用(windows)

因为项目需要,对大量消息进行处理。

现在就用到redis这个。目前在windows下安装测试一下,只是简单介绍客户端的用法,以及redis的常用方法。

首先我们需要在你的php中配置这个redis模块。

由于我用的wamp的测试环境,先用phpinfo看看php的版本,修改ini文件。

下载php-redis模块。

http://windows.php.net/downloads/pecl/snaps/redis/2.2.5/

通过phpinfo查看自己的版本,选择对应的redis.dll,放到ext里面

php.ini

然后重启你的wamp

查看你的扩展,应该就有了。

然后去官网下载redis的windows版本。

https://github.com/MSOpenTech/redis

下载后放到一个位置,我下载的是2.6的版本

F:\redis\redis-2.6\bin\release

在这里面看到,有一个cli,有一个server

先开启服务器的redis-server.exe,在开启cli的redis-cli.exe

保持命令窗口不变,保证之前的php配置没有问题

然后测试redis的php使用

 

如果有结果,就说明ok了。。。要明确你的redis必须安装在服务器上保持进程常开。

如果要写从redis取数据,用php来写的话必须用死循环,类似

先到这里吧。

fade in 的试用

主要是淡入淡出的使用。

给一个图片列表,让他一次淡入淡出的展现。给予按钮。

宗旨:就是两个绝对定位的块,来回上,换图片来回上。

以下是js

 

关于联动菜单2

上次写了一篇关于联动菜单的。http://www.caisangzi.com/blog/?p=715

不过那是一个表,也就是说二级都是在一个表中。

这次的我把父级菜单和子集菜单做了两个表。子集和父级也是通过外键关联的。

js代码如下。

html代码如下其实就是根据id来做

php代码输出数据仍然用json

里面有orm的映射

基本思路和上次那个联动菜单的一样。

2015年7月30日14:31:48

上文说的我发现有一个问题,就是在联动菜单显示的时候,出现的问题。

这里的问题只会出现一个二级菜单。因为在php中,你只有一个。

那么要修改的后台文件如下。

明显我们需要的是一个三维数组

前台的js如下。

这样你的二级菜单就没有问题了。