xiaolingzi's blog

每天都在成长...

欢迎您:亲

PHP脚本程序框架LingPHP构建

xiaolingzi 发表于 2017-03-07 18:58:49

对于web程序,有太多较为成熟的框架可以使用,我们直接拿来用即可。而php除了写web代码之后,还经常用来写一些脚本任务,如服务器部署的一些计划任务程序或者临时使用的处理程序。之前都是大家按自己的想法随便去写,这样会导致代码的凌乱不好管理,另一方面也不便于代码的复用,故开始构建一个简单的框架。

框架需要解决的主要问题如下:

1. 类自动加载,命名空间的引入,这是框架的基本。这样可以避免文件的到处引用。

2. 项目集中管理。各个程序归总起来管理。

3. 统一的调用方式。每个项目有统一的执行入口和参数选项。

4. 代码复用。引入简单的分层架构,将代码进行有组织管理。

5. 配置区分开发环境和线上环境。开发环境的很多配置比如文件路径都和正式服务器的不一样,如果不做分离,不小心就会把开发环境的配置覆盖掉正式的配置导致出错。

6. 统一的文件命名规范。

7. Linux下多进程和守护进程的支持。

阅读全文
  • 分类: PHP
  • 阅读: (854)
  • 评论: (0)

websocket协议详解及数据处理实例

xiaolingzi 发表于 2017-03-06 19:20:27

一、websocket是什么

它是html5提出的一种新的通讯协议,用于实现浏览器和服务端双向通讯(长连接),从而告别了以往在web端只能通过keep-alive和普通轮询之类实现即时通讯的历史。

二、websocket的原理

以往在浏览器与服务器之间的web长连接都是通过http请求进行模拟的伪长连接,每次发送数据都得按http协议带上一些额外的协议数据和处理操作,效率会相对低下。websocket是一种全新的双工协议,它和http协议一样基于TCP连接。为了兼容现有浏览器的握手规范,websocket借助http协议进行握手,握手成功之后维持状态实现持久化。具体握手过程如下:

1.客户端向服务端发起http请求,告诉服务端要进行websocket连接。

为了与普通的http请求进行区分,在进行http请求时在header中加入额外的身份识别数据,以供服务端进行鉴别。下面是一个请求的header示

阅读全文
  • 分类: html5
  • 阅读: (3296)
  • 评论: (0)

windows server使用 LetsEncrypt-Win-Simple来安装和使用用Let's Encrypt免费SSL证书

xiaolingzi 发表于 2016-12-05 18:13:23

一、网站部署

LetsEncrypt-Win-Simple可以自动发现已经部署的网站供我们选择要生成证书的网站,而且还需要进行验证。所以在生成证书之前,确保网站已经部署好并可以正常访问。

二、生成证书

软件下载地址如下:

https://github.com/Lone-Coder/letsencrypt-win-simple/releases

直接下载zip压缩包就好,下载完之后解压运行里面的letsencrypt.exe打开控制台窗口,第一次运行会提示你输入一个邮箱以供后续使用。

阅读全文

centos7安装使用Let's Encrypt免费SSL证书以支持网站https方式访问

xiaolingzi 发表于 2016-12-05 14:21:17

由于当前大家对数据安全越来越重视,网络传输加密的诉求也越来越强烈,特别像谷歌和苹果这样的大公司的推动和要求下,大家也不得不开始使用SSL。目前商业证书对于个人和刚开始创业的人来说还是很贵的,Let's Encrypt推出免费SSL证书的目的也是借此普及HTTPS。

一、软件安装及获取证书

1.安装软件

生成Let's Encrypt证书目前已经有linux客户端软件来生成,叫certbot。centos的yum源里面已经添加了该软件,所以为了避免安装依赖的麻烦,推荐直接通过yum进行安装,命令如下:

yum install certbot

阅读全文
  • 分类: Linux
  • 阅读: (9294)
  • 评论: (2)

mysql插入Emoji表情(4字节字符)报错问题解决

xiaolingzi 发表于 2016-06-29 15:16:58

Emoji为日本栗田穰崇最先开始设计的用于表达人物表情的符号,目前已经形成统一的标准。在现在的大多数移动操作系统中(IOS、Android、WP)都会默认自带Emoji表情的输入。所以支持该表情是非常常见的问题。

从计算机的设计角度来说,Emoji使用4字节字符来表示。

一、报错分析

1. 第一个错误

(1)报错信息

Incorrect string value: '\xF0\x9F\x91\x8D' for column 'xxx'

阅读全文
  • 分类: mysql
  • 阅读: (3821)
  • 评论: (0)

Linux中inode数量耗尽导致“No space left on device”错误的问题解决

xiaolingzi 发表于 2016-05-12 16:24:16

今天上班就有用户反馈应用上不去,报服务器错误。查看了服务器log之后发现mysql直接报错,全文检索也在报错。

其中的mysql的错误信息如下:

Can't  create/write  to  file  '/tmp/#sql_612_0.MYI'  (Errcode:  28  -  No  space  left  on  device)

乍看这错误信息,在想是不是磁盘满了,但又没有收到警报。

阅读全文
  • 分类: Linux
  • 阅读: (2043)
  • 评论: (0)

centos中postfix服务master dead but pid file exists问题解决

xiaolingzi 发表于 2016-05-05 17:17:55

postfix服务不知道什么原因,在启动后通过service postfix status查看一直提示master dead but pid file exists,在尝试删除master.pid文件和删除lock文件之后,还是一样。无奈之下就只能卸载了重装,谁知重装之后还是这个鸟样。猜想问题应该还是残余文件导致,故卸载之后来一次清理,再重新安装。

卸载软件

yum remove postfix

清理文件

阅读全文
  • 分类: Linux
  • 阅读: (2989)
  • 评论: (0)
共104条记录12345...11上一页下一页