公司的发布系统要升级,之前一直用的是ftp发布,现在计划用直接写到远程目录的方式来发布,本来想当然的认为肯定会比ftp发布速度要快的多,多亏 Alge r提醒我要测试一下再下结论,不测不知道,一测下一跳:
- 测试对象:6000个文本文件
- 通过 php 的 copy 函数 copy 到已经映射到本地的目录中,用了 350 秒;
- 通过 php 的 copy 函数 copy 到本地磁盘的另一个目录中,用了 80 秒;
- 通过 php 的 ftp 函数,连接另一台服务器的内网IP,上传,用了 25 秒。
实在想不通为什么会是这样的结果,FTP协议难道是经过了某种优化的吗?再怎么优化也是远程操作啊,怎么会比本地操作快呢?
要么就是 PHP copy 函数有问题……
同事做的一个系统今天在测试的时候,发现
<a href="xxx" onclick="return window.confirm('Plz Confirm')">Delete</a>
点下面的链接可以测试一下:
Delete
这样的语句,不管在选择“OK”或者“Cancel”都会删除记录,而在FF2.01和IE6下皆没有问题。
在网上搜索了一下也没有找到相关结果,不知道是我个人问题还是IE7的问题?
UPDATE:
不是 IE7 的问题,其它人是好的,是偶RP问题……
本期主要是围绕 PHP/MySQL/Apache 的加速、优化文章。
目录如下:
* PHP & Memcached (Nio)
* 使用 memcached 实现对象的自动缓存 (cid73)
* XCache: 加速你的 PHP (Static)
* 扩展 PHP (Ben)
* MySQL 集群技术简介 (叶金荣)
* LAMP 系统优化实例分析 (Dalamar)
* Subversion PHP Binding (sirtoozee)
点击此处下载!
乐铺的服务器不支持 apache url rewrite,所以之前的网址都很“丑陋”,比如:
http://www.loopo.cn/items.php/110
http://www.loopo.cn/forum.php/1/100
因为这个原因,被几个朋友BS了几次……
今天在 DB 的时候,忽然想到一个办法:乐铺的服务器是支持自定义 404 页面的,这样的话,就可以把所有的请求定位到这个 404 页来处理了,即所有的页面“都是 404”,然后再统一由 404.php
来处理重定向。
read more »
2006.6.26 UPDATE:
开始预定:预定页面 http://t.phpmore.com
以下图片可点击放大。预计7月1号之前接受预定。
感谢vicki的热心和Nio的美工。
read more »
最近乐铺经常受到一些 trackback spam 的骚扰,起先没有在意,都是直接在后台删除了之。没想到这两天这些垃圾们越来越猖狂起来,今天一天就有了100多条类似的信息。
在google上用“trackback spam”为关键字找了一下,看来受骚扰的还不至乐铺。心里平衡了一些。-__-
参考了这篇文章上面的办法,把目前物品的 trackback 地址改成不规律的了,不知道会不会有点效果。
持续跟踪中……
在解决乐铺的 tag 排序的问题上,碰到一点麻烦。原因出在乐铺的所有 tag 列表页:http://www.loopo.cn/tags/
刚开始是按照 tag 数量的多少排序的,这样最简单,不过缺点就是没有“公平对待”每一个 tag,特别是用了 tag 云状显示结构以后,最大的 tag 在前面,最小的在后面,看起来很不舒服。
后台改成了按 tag 的 name 排序,在数据库中是直接 ORDER BY tagname 操作的,这里又体现出来了汉字的“优点”,英文里面,只要 order by 一下就会按 a-z 的顺序列出来了,汉字可不行,这样做顺序是打乱了,显示的效果也好一些了,不过缺点也显而易见:没有规律性。想找一个特定的tag比较困难。
再后台想到了按汉字的拼音排序的想法,搜索了一下,之前有收藏过一个函数可以把汉字转换为拼音的,原理是通过判断区位码的方法来实现简单的拼音转换的。在本地简单测试了一下,正要往上用的时候,又有麻烦了,原来这个转换是从gb2312到拼音的,乐铺上的用的编码是utf8格式的,死活转不过去。还好服务器有支持iconv函数,又通过 iconv 转换了一次,这才正常。
使用过程中发现存在的几点问题:
- 1.有很多生僻字都不能正确转换,好像只有国标里的汉字才可以;
- 2.多音字处理不好,有时候转换出来的拼音莫名其妙。
上面两点问题在应用中用其它办法弥补一下就可以了,等有更好的解决办法再说吧。嘿嘿!
补充:后来在PHPCLASS发现了一个更强大的类,Chinese Text Conversion,乐铺现在用的就是这个类。有兴趣的朋友可以下来研究一下。
在DRL上看到有朋友抱怨Firefox占用内容太多,经常造成内存泄漏的问题。自己在使用的过程中也有同感,开了十个左右的tab,时间一久,占用内存就会增加到500兆左右。实在是恐怖。
不过DRL上高人多多,有人给支了这招:
在about:config中
1.加入一个boolean项:config.trim_on_minimize,并设置为true,这样就可以在最小化时自动释放内存。
2.修改browser.sessionhistory.max_total_viewers修改值为5或更小{页面快进/快退功能中保存的页面总数,默认是-1(无限)}。
赶紧试了一下,乖乖,同样的页面,占用内容只有50兆左右了,而且在最小化的时候占用只有5兆。
太爽了,好东西不敢独享,有同样烦恼的朋友不妨一试。
今天一个偶然的机会中知道 SQL 中的 INSERT 语句还可以这样写:
INSERT INTO tbl_name (col1, col2) VALUES (value1_1, value1_2),(value2_1, value2_2),(value3_1, value3_2)...
这样的写法实际上是类似于
INSERT INTO tbl_name (col1, col2) VALUES (value1_1, value1_2)
INSERT INTO tbl_name (col1, col2) VALUES (value2_1, value2_2)
INSERT INTO tbl_name (col1, col2) VALUES (value3_1, value3_2)
...
如果在执行过程中碰到一个值错误,则这个值以后的数据都不会被插入。
以上语句在 Mysql 4.0 中通过,其它数据库没有测试。
嗯。从策划到出样品用了一周的时间,还好……比预计的要顺利些
这周让大家提意见及预定,下周批量印刷,hoho~
查看大图
read more »