PHP开源框架MiniFramework发布1.0.11版

MiniFramework 是一款遵循 Apache2 开源协议发布的,支持 MVC 和 RESTful 的超轻量级 PHP 开发框架。MiniFramework 能够帮助开发者用最小的学习成本快速构建 Web 应用,在满足开发者最基础的分层开发、数据库和缓存访问等少量功能基础上,做到尽可能精简,以帮助您的应用基于框架高效运行。

MiniFramework于2017年7月16日发布1.0.11版本,变化有:

* 改进转换伪静态地址分隔符的机制
* 优化路由处理伪静态时的性能
* 优化部分核心类的属性
* 优化框架内存占用

MiniFramework 1.0.11 版本下载地址
zip格式:https://github.com/jasonweicn/MiniFramework/archive/1.0.11.zip
tar.gz格式:https://github.com/jasonweicn/MiniFramework/archive/1.0.11.tar.gz

MiniFramework 快速入门文档
地址:http://www.miniframework.com/docv1/guide/

近期版本更新主要变化回顾:

1.0.10

* 新增支持使用“_”字符作为伪静态URL中的分隔符
* 新增支持伪静态时使用“.html”作为URL结尾的机制

1.0.8

* 新增在REST模式的API接口中,向Header传入Ver(版本号)实现调用不同版本的API接口的功能

1.0.7

* 新增Cache_Memcached类,用于对PHP的Memcached扩展的支持
* 改进Cache缓存类,增加支持写入永久有效缓存数据的特性,不再强制缓存具有有效期

1.0.6

* 新增在REST模式的API接口中使用$this->forbidden()方法直接输出403禁止访问的信息
* 新增向REST模式的API接口中不存在的方法发起请求时,自动输出403禁止访问的信息

1.0.4

* 新增用于获取请求头数据的方法

汇总PHP最常见的四种排序算法

PHP最常见的四种排序算法分别是:冒泡排序法,选择排序法、插入排序法和快速排序法。下面我们就分别给出四种排序算法的实现代码,供大家参考。

1.冒泡排序法

2.选择排序法

3.插入排序法

4.快速排序法

阳光部落原创,更多内容请访问http://www.sunbloger.com/

在CentOS环境为PHP安装Memcached扩展

首先,安装PHP的Memcached扩展前,要先安装其所依赖的libmemcached,方法如下:

libmemcached安装完毕后,就可以开始安装Memcached扩展了,方法如下:

解压缩后,我们需要先修改一下php_libmemcached_compat.h文件
将#include 的路径修改成#include </usr/local/include/libmemcached/memcached.h>然后再继续编译安装

最后,还要修改php.ini文件,加入extension=memcached.so并重启php-fpm即可。

阳光部落原创,更多内容请访问http://www.sunbloger.com/

用 MiniFramework 快速构建 REST 风格的 API 接口

MiniFramework 是一款遵循 Apache2 开源协议发布的,支持 MVC 和 RESTful 的超轻量级 PHP 开发框架。

通过 MiniFramework 内置的 REST 接口功能,我们可以很轻松的快速构建起基于 REST 风格的 API 接口,特别是在开发 iOS 和 Android 手机客户端应用时,服务器端的 API 接口是否灵活高效,直接影响着手机应用的体验。

下面介绍一下如何使用 MiniFramework 开发 REST 风格的 API 接口。

第一步,我们下载最新 MiniFramework 1.0.2 版本

下载地址是:https://github.com/jasonweicn/MiniFramework/archive/1.0.2.zip

下载并解压缩后,会看到里面有 App 和 MiniFramework 两个目录,App 目录是一个附带的应用 demo,MiniFramework 目录是框架核心文件。

阅读全文

分享一套用于监控php-fpm进程的Cacti模板和脚本

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,相信大家都已经很熟悉了,这里不过多介绍了。

目前Cacti的开发者暂时没有提供监控php-fpm的模板和相关的数据抓取脚本,我在网上找搜索了一些方法,但几乎都是需要通过脚本直接到php-fpm的9000端口上去抓取数据,这种方法在跨机房监控时,需要将php-fpm的listen绑定到一个公网ip上,这样会有安全方面的风险。如果不绑定公网ip,那就只能通过vpn的进行访问,部署成本较高,也不是一个理想的方案。

通过摸索,我将原本需要访问php-fpm的9000端口方案进行了调整,改为由Nginx提供以网页的形式访问php-fpm状态信息的通道,同时编写了用于抓取这个网页的Perl脚本,这个Perl脚本连同所需的Cacti模板我一起打包在文末提供了下载链接,下面介绍一下部署方法。

阅读全文

解决Cacti监控大内存时数据显示nan的问题

通过Cacti监控服务器内存使用情况时,Memory Usage图表中,可能会出现Cache Memory或其他数据的值显示为nan的情况。出现这种情况大多是由于服务器内存较大,超出了Cacti数据模板中10G的预设上限值,我们可以通过修改此预设值来解决这个问题,下面是具体修改方法。

首先,登录Cacti后,进入到Console > Data Templates中,找到和内存监控相关的三个模板,分别是:“ucd/net – Memory – Buffers”、“ucd/net – Memory – Cache”和“ucd/net – Memory – Free”。

阅读全文

SVN版本库迁移服务器方法

首先,在旧服务器上导出所有版本库

然后,将导出的dump文件拷贝到新服务器上,并在新服务器上创建同名的版本库

用load命令将dump文件还原到新服务器上的同名版本库里

最后,别忘记参照旧服务器,去设置新服务器的authz和serve.conf等设置

阳光部落原创,更多内容请访问 http://www.sunbloger.com/

用PHP从本地提取视频并向浏览器输出的方法

有时,在一些特殊场景中,我们需要访问视频时,需要预先通过PHP做一些校验,校验通过后,才允许将视频数据输出给浏览器。

下面这段代码实现了用PHP从本地提取视频文件,并通过header函数以字节的方式向浏览器输出视频数据流。

为CentOS升级OpenSSL 让Nginx支持TLS 1.2

最近在调试微信小程序时,发现wx.request请求总是无法正确获取服务器端的数据,经过检查发现是因为服务器端https不支持微信要求的TLS 1.2版本。

登录到服务器上,用openssl version -a命令查询,发现版本是0.9.8e,查阅文档得知OpenSSL从1.0.1开始才支持TLS 1.2,那么我们就来对OpenSSL进行个升级。

准备工作:
1.下载新版OpenSSL源码包https://www.openssl.org/source/openssl-1.0.1u.tar.gz
2.开启主机的telnet,以防升级过程中遇到问题,可通过telnet补救。

阅读全文

在CentOS 5.x中部署LVS-DR模式

LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统。

在下面的案例中,我们用了3台主机,IP地址分别为:

192.168.1.100
192.168.1.101
192.168.1.102

其中,192.168.1.100将安装LVS做为负载均衡器来分发请求,另外2台做为真实提供服务的主机,以DR模式进行部署。

阅读全文