PHP编辑器:Dev-PHP2

前段时间,忽然对使用中的编辑器感到不爽。当时使用的是PSPad,这个不是专业的PHP编辑器,是的,她不是针对PHP而设计的,用起来还是觉得不够趁手。于是又开始了新一轮对编辑器的疯狂试用,最后还是选择了Dev-PHP2,一个针对PHP开发,免费开源的软件。

选择Dev-PHP2其实有点无奈,原因是我试用了几乎所有别人在网上推荐的PHP收费编辑器或大牌编辑器,如:PHPDesigner 2008、PHPEdit、PhpED、DSV PHP Editor、eclipse等等,占用内存大、启动缓慢、小毛病不少,真的是对不起付费的客户,还不如就用Dev-PHP2算了。就是这样,我选择了Dev-PHP2。

其实Dev-PHP2还是挺不错的,
1.支持多语言界面(locale.zip,下载解压到Dev-PHP2的安装目录下,可以实现中文界面。因为是我自己翻译的,错漏不少,欢迎指正。);
2.嵌入PHP手册。在选项中设置好你的中文手册后,可以直接在软件中查看;
3.支持UTF-8。可选择是否添加BOM;
4.支持Snippets。(这个功能似乎有点问题,我添加的好像不能保存。)
5.支持PHP解析和Debugger。要自己搭建PHP平台和xdebug和在选项中设置。
6.高亮显示PHP、HTML、CSS、Javascript等代码。(这个功能也不太完善)
7.代码提示。
8.启动快速。
9.程序小巧。安装文件才1+MB。

从上面你可以看到Dev-PHP2要有的功能基本都有了,但完善度却是不太足够。

不过懒得折腾了,先凑合用着吧。

Simple.1二栏版和WordPress搬家到Blogbus

wordpress主题Simple.1.2c

Simple.1.2c就是Simple.1的二栏版本,更简洁。

WordPress搬家到Blogbus程序是应jht的要求所写。现在大致上也已经完成了,这里把php程序发出,下载后按照README要求进行就可以了。
因为弄的比较匆忙,有问题,这里留言告知。THX
wp2bb.zip

用YUM升级CentOS系统中PHP和MySQL

用上umVPS后,很多时候在虚拟主机不用自己动手的事情都要自己搞定了,例如:PHP和MySQL的升级。因为不用自己动手,也动不了,所以冰古不太清楚虚拟主机的PHP和MySQL是不是会及时地更新。但用VPS,可以动手玩一下也保证安全,冰古是很乐意进行更新的。以下就是用YUM升级CentOS系统中PHP和MySQL的过程:

yum是CentOS系统自带的用于方便地添加/删除/更新RPM包的工具,它能自动解决包的倚赖性问题。
用yum更新PHP,只需用一条命令就可以搞定:

#yum update php

但问题来了,使用此命令后,系统告诉我,没有发现可更新的包。而当前的PHP版本只是5.2.1,PHP官方已经更新到5.2.6了。
经过一番询问,才知道原来CentOS系统的源里PHP仍旧是5.2.1,需要额外的源才能升级PHP。
根据外国网友的介绍,冰古添加了额外的源
登录SSH后依次运行下列命令:

#rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
#vi /etc/yum.repos.d/utterramblings.repo #文中这里是使用nano,但VPS不能启动nano,用vi代替也是可以的

在打开的文档中加入下面内容:

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

保存。
再次运行下面的命令就可以完成php的升级了

#yum update php

同理,运行下面命令,升级mysql

#yum update mysql

用PHP得到访问者的真实IP

在php中,通常我们用$_SERVER['REMOTE_ADDR']得到访问者的ip。但当访问者使用了代理,它只能得到代理的ip。这时使用下面的函数就能得到访问者的真实ip:

function getRealIpAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){//check ip from share internet
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){//to check ip is pass from proxy
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}

事实上这个函数也不是万能,众所周知,头信息是可以伪造的。

修正一种特殊的乱码问题

最近在使用sNews的过程中遇到一种特殊的乱码显示问题,表现为:用firefox浏览网页,该网页中的中文字符显示为乱码,但查看它的源代码却发现其中的中文字符是正常的,而且还有正确的meta指定其编码为’utf8′(<meta http-equiv="Content-Type" content="text/html;charset=utf8" />),如果在浏览器中选择编码’utf8′,网页显示正常,但刷新后,网页再次显示为乱码。

很显然,这个乱码显示问题是由于浏览器没有正确指定编码导致的。看了一下代码,发现<meta http-equiv="Content-Type" content="text/html;charset=utf8" />是由title()函数添加到模板中的,可能在此前,浏览器已为网页分配编码,但不能找到meta指定的编码,只能为该网页分配为GB2312,因此页面显示出现乱码,而源代码却是正常的。

解决的方法很简单,只需在程序开始后马上为其指定编码就行了,也即是在index.php的第二行加入<php header('content-type:text/html;charset=utf8'); ?>一句后保存即可。此时再刷新,网页已不会显示乱码了。

还是关于总结2006年的SQL

最近在看关于SQL的资料,这里再来几条SQL语句练习一下。

2006年度最多comment(&trackback&pingback)的posts

SELECT ID, Count( comment_ID ) , post_title
FROM `wp_comments` , `wp_posts`
WHERE comment_post_ID = ID
AND comment_approved = '1'
AND post_date >= '2006-01-01'
AND post_date < '2007-01-01'
GROUP BY ID
ORDER BY 2 DESC

1、更新blogbus to wordpress转换程序 (43 comments)
2、从blogbus跳转到WordPress (31 comments)
3、wordpress2.0 rss import文件分析及oblog导入 (18 comments)
4、我使用的plugins (17 comments)
5、怎样将wordpress从盘古搬到DreamHost (16 comments)

暂时还没想到更多的SQL,想好了再加吧。

用phpmyadmin备份和导入mysql数据

PHP搭配Mysql是一种流行的网页编程语言,很多的Blog和Bbs程序都是采用这种搭配,例如:Blog中的wordpress、o-blog、exblog……,BBS中discuz、phpwind……
有了空间,大家都喜欢或装个discuz跟大家聊聊喜欢的东西,或装个blog玩玩。这时候就必然需要涉及到mysql数据的备份和导入。而这个小常识,众大虾是不屑去写个教程的了,那就让我来说一下吧。
Read the rest of this entry »

Google PageRank的计算源代码

看什么时候我也仔细研究一下,自己弄个查看pr的php程序!以下两篇文章基本相同,但也有一些不同,所以都转过来了!!这里有一个更全的,因为内容太多,不转过来了,自己去看吧http://bbs.z4.cn/showthread.php?threadid=1012

转载自:思路
内容如下:
这里仅仅给出了由http://meese.ath.cx/google/给出的源代码。至于具体如何获得最后的PR值的代码这里就不给出了。有心的网友应该能从下面的代码中找到解决办法,因为下面是详细的核心算法。
Read the rest of this entry »