Sun, Jul 17, 2016
这件事情其实我没有怎么关注过,到超市去买油什么的也是全凭一时冲动,没有固定的品牌和品种。 因为我是生物专业毕业的,知道的人难免会让我谈谈关于转

Sat, Apr 9, 2016
前面啰嗦了这么多读者都要没有兴趣了。从现在起要真正开始PHP扩展开发阶段了。 首先来生成扩展的骨架。所谓骨架就是一个扩展需要的基本文件了。 获取

Sat, Apr 9, 2016
在编写之前先用PHP实现这个类的原型吧。 <?php namespace Hylog; use \DateTime; class Hylog { const HYLOG_VERSION = "0.1.0"; const EMERGENCY = 'EMERGENCY'; const ALERT = 'ALERT'; const CRITICAL = 'CRITICAL'; const ERROR = 'ERROR'; const WARNING = 'WARNING'; const NOTICE = 'NOTICE'; const INFO = 'INFO'; const DEBUG = 'DEBUG'; private static $_instance; private $_basePath; private

Sat, Apr 9, 2016
好了,现在来整理一下我们要做的工作。 功能目标 既然是要做一个记日志的扩展,那当然就避免不了两个功能: 格式化日志流 将日志流推送到特定目标(通常是

Tue, Apr 5, 2016
从开始写PHP就知道迭代器这个东西,当时师傅告诉我用的挺少的,需要的时候再看也不晚,于是就没有放在意上。但他还说这其实也是区分高手和菜鸟的一

Mon, Apr 4, 2016
这段时间其实在看C语言,但看来看去也不知道学了这些知识用在哪里。作为一名PHP程序员,想要进阶,当然得懂PHP的运行原理。那么,编写扩展就成

Fri, Apr 1, 2016
今天花了点时间测试了开源项目seaslog和PHP内置的error_log的性能。本文不涉及该扩展的安装和使用,如果对其不了解,可移步官网。 项目的描述有语法问题”A effective …“,我提醒了原作者,然而并没有被理会。。。 测试环境 项目 属性 CPU Intel® Xeon® CPU E5520 @ 2.27GHz 8核 内存 48G PHP 7.0.1 Nginx 1.2.7 测试代码 <?php error_log("I am testing performance of error_log" . PHP_EOL, 3, __DIR__ . '/error_log.log'); SeasLog::debug("I am testing performance of seaslog"); 结果数据 每种方式测试5次,请求次数1000次,并发量分别是1, 10, 100, 1000。分别记录每次测试的QPS。 1. error_log 并发量 1 2 3 4 5 1 2430 2579 2685 2484 2622 10 7303 7844 5892 11739 9002 100 11763 6107 6921 9258 11999 1000 324 891 324 889 883 2.

Wed, Mar 30, 2016
现在国内竟然那么多的视频网站都还不支持HTML5的视频播放,无外乎几个原因: 现在我们的浏览器也只是对Safari开启了默认HTML5,而其他

Mon, Mar 7, 2016
前后两家公司都是用Subversion做版本控制,虽说程序员自己有喜好,但仍然需要遵守公司的规定。我个人是比较偏好直接登录服务器进行开发的,