PHP

使用 xdebug 在 phpStorm 进行 php 本地和远程 swoole 调试设置

其实类似 xdebug 在 phpStorm 的调试文件一搜一大把,这里简单的总结下,主要是适合使用 swoole 开发的人。 本地调试的设置方法 第1步 在 Run 菜单中点击 Edit Configurations,然后点击最左侧 + 按钮,选择 PHP Script。 第2步 Configuration 的 File 参数就选择 swoole 的启动文件,Arguments 输入你这个启动文件的参数,没有的话就留空,名字自己设定 完成 然后点击保存,如果 phpStorm 提示找不到php命令的话你设置下路径就好了。 这个时候在窗口的右上角就会有一个可以调试的按钮,这个时候在要断点的位置 […]

开源了一个好用又简单的大数据日志数据实时统计服务功能 Easy Total

因为我们公司游戏的日志越来越多,普通的数据光插入数据就会让数据库挂掉,后来我们用 Hadoop 集群来处理日志,但是问题是需要越来越多的服务器,为了解决这个问题,用了半年时间开发了一个简单好用的实时统计服务器:EasyTotal。此服务还在测试,感兴趣的同学可以去点赞或贡献代码,项目地址 https://github.com/xindong/easy-total。在我们线上测试环境(监听了20多条统计的SQL语句)单机每分钟处理300万+的日志量cpu负载在 3 – 5之间,可持续处理1000万/分钟的日志量,峰值可达1300万/分钟,这样的性能堪称无敌,因为这样的数据光插入 10 […]

  • admin01
  • admin02

Fluentd 的PHP客户端,支持ACK方式以及批量推送log的类库

fluentd是一个非常好用的日志分发处理的程序,网站 http://www.fluentd.org/ 使用官方的php程序自己改了一个单文件的Fluent的类库,并且加入了更多的支持,比如 tcp 方式支持 require_ack_response 了,这个参数主要是用来请求是否推送成功用的,避免因为网络问题没有推送成功而无法知道。 但是这个功能我实测如果每条log都去ask一下本来推送10w条记录只需要3-5秒,用这个后可能要几分钟时间,所以性能上会大打折扣。 所以我加入了add()方法,可以加入n多条log后一次性push到服务器进行1次ack,这样性能就会很好了。 另外,官网的php程 […]

榨干PHP性能之被遗忘的 if 中 == 和 === 判断的性能差异

1 Comment

对于 if ($a === $b) { //coding… } 和 if ($a == $b) { //coding… } 这2种最简单不过的判断,似乎很少有人关心他们的性能差别,包括我,写了快10年的php似乎从来没有在意过这些。 对我来说,只有在需要严格判断的情况下才会用 === 来判断,大多情况下都是用 == 来判断的。 今天闲来无事手贱测一下这些被遗忘的细节的性能差别,结果却有些让我出乎意料。 测试代码: // 代码A, === 判断 $a = ‘aaa’; $b = ‘aaa’; $s = microti […]

做了一个 FirePHP For Chrome 的插件

1 Comment

FirePHP(http://www.firephp.org/)是一个php里不错的用于调试的工具,我在MyQEE里内置了这个功能,在线调试非常有用,只可惜做这个的作者好久没更新版本了,官方也只出了一个在Firefox里的插件。 而Chrome里的插件都是第三方做的,实际上很难用。这些天下狠心改了别人一款,改到了基本自己满意了,媲美FireFox里的插件,掌声在哪~~~~ 本来是要公开发布出来的,可无奈google的应用商店第一次发布必须要付$5才行,我尝试的去付了下,可是支付失败,好像是不支持中国的信用卡,唉~~~~ 于是只好发布成私有的应用,私有的应用和公开的应用的差别在于只能通过指定的U […]

提供一个自动下载射手网电影字幕的脚本

射手网突然停止下载了,现在看个电影都很费事,还好射手网的接口没有关闭。看了下接口文档,自己用php写了个脚本,可以直接根据影片文件下载匹配的字幕。 把代码方在/usr/local/bin/目录,文件名zimu,并chmod +x /usr/local/bin/zimu,然后这样用: zimu 电影文件名 就可以自动下载字幕了 可以加参数“debug”, “all” 比如 zimu test.mkv all 则下载全部匹配的字幕 window用户的话,可以保存成zimu.php然后使用 php zimu.php 电影文件名 这样来下载 不多说,直接上代码 #!/usr/bin/env php & […]

nginx+php-fpm环境下php输出图片、js、css等文件出现异常问题的原因及解决办法

【背景】 在我实际使用的环境中很少直接使用 nginx + php-fpm 方式搭建环境,大部分还都是使用apache,即便用到nginx,还只是用它监听80端口再代理apache的php做负载均衡器。 这次偶尔机会自己搭建了 nginx + php-fpm 环境,发现自己开发的MyQEE输出js、css以及image图片时会出现异常关闭的问题。 nginx配置了类似这样的rewrite if (!-e $request_filename) {     rewrite ^/.* /index.php last; } rewrite的意思是当请求的实际文件不存在时rewrit […]