pader 发表的文章

关于 Nginx 和 PATH_INFO 以及 PHP 的 cgi.fix_pathinfo 解析问题

pader 软件应用 发表于 2014年11月03日 11:45
wait me to write

VGOTFASTER 更新数据库操作层

pader 网页与编程 发表于 2014年09月04日 13:33

最近一直准备把公司的所有 php 环境统一升级到 5.5,目前使用的是 5.2 与 5.3,而现在 5.3 都已经 EOL 了,5.4 性能有较大的提升,5.5 对内存占用上也有很多优化,作为一个互联网公司目前我们在用的版本有点不够与时俱进了,所以升级成了必然。

升级除了 preg_replace() 中 e 修饰符开始弃用以外最主要就是数据库问题了,虽然编译进 mysql 模块仍然可以继续使用原来的 mysql 驱动,但原来的 mysql 驱动官方早就开始声明要废弃,并且在 5.5 中默认是不启用的。

目前有一个项目使用的是我的 vgotfaster 框架,所以就改了改把框架的数据库操作类改使用 mysqli 驱动,由于之前我已经做了一个由 pdo 驱动的类,所以干脆抽了些时间把 pdo 与 mysqli 驱动的数据库全部抽出来成为数据库操作层,并且可以由数据库配置中的 use_pdo_driver 来指定是否使用 PDO 驱动,把 ActiveRecord 类也抽出来统一为共用的类,再把两个驱动的数据库类方法统一。

唯一的问题是 pdo 驱动没有类似于 mysql*_ping() 的方法,在 pdo 中只能写一个不具任何功能的方法,不过除非在 CLI 计划任务中需要长时间运行并且用 mysql*_ping() 来实现保持 MySQL 不超时断开,其它情况都可正常使用。现在可自由通过配置切换驱动,而且用法也完全无需修改程序的其它地方。

这里是下载:vgotfaster_20140904.zip

详细的更新日志可以见包内的 changelog.txt 文件

最近大 OSChina 上建了个 git 仓,地址是 http://git.oschina.net/pader/VgotFaster把 vgotfaster 弄进去了,不过现在对 git 还不怎么熟悉,感觉使用起来不如 SVN 简单。

其实我这个 vgotfaster 框架是借鉴 CI 框架的思想做的,目的是为了学习学习这种框架的实现并且用在自己的一些项目中,当然仅仅是借鉴了他的结构思想,除了在单例模式的实现上参考过它的代码外,其它的代码基本都是自己写的,个人网站许久不维护了,做的一些其它的东西都落在硬盘的角落里,搞了这么多年 PHP 也就剩下这点东西了

纵观前面的几篇文章,质量真低啊,一直琢磨着把 ideawind 做出来,然后把个人主页做成一个纯粹的博客,到底什么时候会实现?大约在冬季。。

Ubuntu 内核引导错误和误删 /etc/grub.d/ 的解决办法

pader 系统与硬件 发表于 2014年02月21日 17:36

前段时间从 Ubuntu 13.04 升级到 13.10 后,发现 /boot 下多了个 3.11 的内核,但当前内核仍然使用的 3.5 的内核,于是想修改内核到使用 3.11 内核,但由于没注意到当前的 grub 已经是版本 2 了,使用 update-grub 却只更新了 menu.lst,而且我还过河拆桥的把 3.5 内核的相关文件都删了,重启后杯具了,无法引导内核,启动不了了。

然后各种搜索,发现当前系统居然是使用 grub.cfg 这个配置文件,menu.lst 实际上是老版本 grub1 的残留,而且 update-grub 也是老版本的 grub 工具。再经搜索在一篇 IBM 的文章中发现可以在 grub 界面按 E 进入引导配置文件临时修改,然后进入了系统。

进入系统后我一通折腾,把所有的 grub (1 和 2 版) 都卸载了,然后阴差阳错的胡闹把 /etc/grub.d/ 也删除了,重新安装后,发现怎么也无法生成正确的 grub.cfg 配置,生成的 grub.cfg 总是空的,原因就是因为没有了 /etc/grub.d/,寻思未果,各种重装也是无法解决,最后找到的办法是从 grub-common.deb 包中提取出来 grub.d 目录,然后复制到 /etc 中,再执行 update-grub 后 grub.cfg 终于正常了。

ChinaListStable

pader 软件应用 发表于 2013年12月02日 12:30

因为近期 Adblock 里的 ChinaList 规则无法再对优酷广告进行屏蔽,造成优酷基本无法正常观看,所以推出这个 ChinaListStable,基于 ChinaList(https://code.google.com/p/adblock-chinalist/),仅仅是移除了里面一些不稳定的导致网站功能无法正常使用的规则,目前只是移除了优酷的广告规则。

ChinaListStable+EasyList

吐槽一下现在智能机市场格局

pader 随心所欲 发表于 2013年10月27日 02:54
为什么要吐槽?我要吐槽的是除了苹果和诺基亚像是真正在做智能机产品,其它手机厂商一个个就像是自己、互相之间折腾着玩的一样,从产到服务全是一片混乱、失控。

» 阅读全文

自己开发的 Android 流量统计应用 MyTraffic

pader 网页与编程 , 软件应用 发表于 2013年10月15日 17:04

现在的应用越来越复杂了,各种管家做的找不着北,各种流量带的奇怪和功能和无法理解的视图让人郁闷。

自己是个技术人员,于是花了些时间开发了这个android 流量统计的应用,目的一方面希望有一个能统计每天、每个应用所用的移动网络及wifi流量,并且可设置月套餐提醒等的应用,另一方面也是为了对Android系统的一点研究吧。

我给它取了个简单的名字:My Traffic (我的流量)

» 阅读全文

Win7 64 位旗舰版,Chrome 作为默认浏览器,html 文件关联图标为空白的解决办法

pader 系统与硬件 发表于 2013年09月06日 11:10

打开注册表编辑器

找到

HKEY_CLASSES_ROOT\chromeHTML\ShellEx

将下面的 IconHandler 删除或者重命名,重启 explorer.exe 进程即可

VirtualBox 虚拟机中安装 Ubuntu Server 并搭建 APM 服务记录

pader 软件应用 发表于 2013年04月10日 16:00

安装好系统后

切换到 root 账户
sudo su

安装 MySQL
apt-get install mysql-server mysql-client
如果不想要远程客户端可以不用带 mysql-client

安装 Apache
apt-get install apache2

安装 PHP
apt-get install php5 libapache2-mod-php5

重启 Apache
/etc/init.d/apache2 restart

在 /var/www/ 下面写个 php 测试一下 phpinfo()

取得 PHP 对 MySQL 的支持

可以用这个查看 php5 的模块
apt-cache search php5

安装所需模块,如:
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

重启 Apache

如果想装 phpMyAdmin:
apt-get install phpmyadmin

如果想安装 SSH 服务,可以参考这篇文章:
http://www.cnblogs.com/nodot/archive/2011/06/10/2077595.html

将虚拟机中的端口映射到本机以进行访问

在虚拟机网络设置中,点击“端口转发”,添加以下设置

名称:http、协议:TCP、主机IP:127.0.0.1、主机端口:8081、子系统:10.0.2.15、子系统端口:80

这时就可以在本机输入 http://127.0.0.1:8081/ 访问虚拟机中的服务器了

可以把 SSH、MySQL 的端口也映射出去,名称任意写,主机端口指你要映射在本机上的端口,子系统端口指在虚拟机中的实际端口,其它跟上面填写一样即可。
SSH 默认端口是 22,MySQL 默认端口是 3306。映射本机端口注意不要与已用端口冲突,比如本机已装 MySQL 则建议把虚拟机中的 3306 端口映射到本机的 3307 端口。

这里注意一点,MySQL 要进行以下设置:

执行以下语句为 root 用户添加远程登录权限:
GRANE ALL PRIVILIEGES ON *.* to 'root'@'%' IDENTIFIED BY '这里是用户的密码' WITH GRANT OPTION;

编辑 /etc/mysql/my.cnf 注释掉 bind-address 127.0.0.1 这一行,否则 MySQL 由于绑定登录 IP 导致登录时报:SQL Error (2013)-Lost connection to MySQL server at'reading initial communication packet',system error:2 的错误。

ACER 的笔记本真难拆

pader 我的生活 发表于 2011年12月09日 05:22

昨天一朋友的笔记本说最近散热很差,拿来让我帮拆清一下灰。我前段时间也拆过自己的笔记本,也是因为散热差的原因,我的电脑散热差有很长一段时间找不出原因,后来找出是因为之前拆松动了CPU和GPU与导热片之间已经硬化的硅脂所导致的。我的是联想比较好拆,直接拆掉后面的两个盖就可以接触到硬盘、内存、网卡,导热铜块和风扇等等,而ACER笔记本后面只有一个盖,拆开仅能见到硬盘,内存和网卡,打开后盖后后面无从下手。

后来还是从网上找了个教程,从键盘,键盘周围的盖,一点一点把整个本子完全拆散了才见到散热部。实话说ACER与惠普一些电脑和联想之间的质量就是不同,联想的内部设计很好拆,而且散热风扇的固定等各种细节都完全不同。不同价格的笔记本在处理器,硬盘和内存上是吃不到水份的,而赚就赚在这些你可能不注意到的地方。

后来给他重新涂了硅脂,重装,中间忘了拧或者多装了某些螺丝重打开过,键盘不灵也重打开重插过排线过之类的各种重新打开,最后的结果就是主要内容都OK了,散热也很好了,但是多了一个螺丝,装错3个螺丝位,实在再懒的弄了,手疼。

已经在深圳待了三个多月了,这边一切还习惯,生活时间跟上半年一样少,公司逐渐大了,然后对未来的定位却更迷糊了,但无论如何,信心是坚定的,让我们目光坚定,直视前方,踏平一切吧!

更新了 OneExplorer 到 1.3.2

pader 网页与编程 发表于 2011年05月15日 22:34

近来实在太忙了,今天好不容易有点时间,终于决定把我的 oneexplorer 这款小程序改进下了。

OneExplorer 是自己以前没事写的一个代替服务器自带的目录浏览程序,用来开发的时候访问文件。
这个东西最大的特点是整个程序就只有一个 PHP 文件,上面的图片也全部来自这个 PHP 文件,我个人觉得还是挺有意思的。

这次的改变是增加了像 Win7 一样的地址栏,可以直接在地址栏上查看每一层下的目录列表。并且美化了ROOT、上一层和刷新的按钮,使用了 CSS3 的效果,程序代码方面也做了些简化,去掉了一些不必要的函数封装等,去掉了地址栏传递时目录前面的“./”,还修改一些文字表达,以及样式的调整等。并且还很猥琐的加上了版权信息,哇哈哈。

上截图:

2011-05-15_00274.jpg - 大小: 69.89 K - 尺寸:  x  - 点击打开新窗口浏览全图

这次修改花了将近二十个小时的时间,其中有一个下午在解决一个 JS 的元素判断以及变量的迭代问题了,真郁闷。已测试通过 IE6+ 和目前的主流浏览器。

2011-05-15_00275.jpg - 大小: 51.58 K - 尺寸:  x  - 点击打开新窗口浏览全图

还有最近我的 VgotFaster 框架在应用到公司的项目中时,很多东西也逐渐的成熟了,比如对数据库的多元操作,多语言支持,以及一些辅助函数和类库的完善,可惜的是一直没有时间来完成项目主页,还有我的 ideawind 啊,什么时候才有时间做完这些东西啊。

透露一下 VgotFaster 主页的 PSD 图部分,以及 ideawind 界面。

2011-05-15_00276.jpg - 大小: 34.06 K - 尺寸:  x  - 点击打开新窗口浏览全图

ideawind_index.jpg - 大小: 267.63 K - 尺寸:  x  - 点击打开新窗口浏览全图

Total: 335Page 1 of 341234567Next ›Last »