如何编译red5 0.4 - 视频教程
这三个flash的视频教程演示了如何编译red5 server 0.4,用到的工具有eclipse,subversion,ant等等.
用svn获取Red5源程序
使用eclipse来过滤源文件列表,使之更可读
用ant来编译源程序,并运行red5 server
什么是red5?
red5是一个开源的flashcom server端
相关文章:Red5 0.3 Released
这三个flash的视频教程演示了如何编译red5 server 0.4,用到的工具有eclipse,subversion,ant等等.
用svn获取Red5源程序
使用eclipse来过滤源文件列表,使之更可读
用ant来编译源程序,并运行red5 server
什么是red5?
red5是一个开源的flashcom server端
相关文章:Red5 0.3 Released
今天中饭前贴了个文,被人批示说排版惊天动地的烂灰蒙蒙一片浪费眼神.痛定思痛,这不马上就闭门整改装修了么?整个装修过程很简单,到隔壁coolcode.cn偷几块板砖和点水泥糊上,这就算完工了,可见wordpress的再装修接口设计的还是8错滴.
BTW:wordpress自带的编辑器感觉非常的不趁手,不知道有没有更好的替代品.
上次写了Search Engine Friendly的URL设计 - 俺在这个事上面折腾,要实现这个 http://www.myhost.com/foo.php?a=A&b=B&c=C -> http://www.myhost.com/foo.php/a/A/b/B/c/C的url转换,实际上还有不同的办法.
比如说我用的是虚拟主机,也想实现url优化,但是我没有服务器权限,这时候可以从PATH_INFO来下手.
访问http://www.myhost.com/foo.php/a/A/b/B/c/C这个url的时候,如果apache的AllowPathinfo已经打开,用php访问$_SERVER['PATH_INFO']可以获得a/A/b/B/c/C这串字符 这时候再用php加以解析:
PLAIN TEXT
PHP:
if(!empty($_SERVER['PATH_INFO'])) {
$paths = explode('/', substr($_SERVER['PATH_INFO'], 1));
for($i = 0, $cnt = count($paths); $i <$cnt; $i++)
$_GET[$paths[$i]] = @(string)$paths[++$i];
}
这样就可以简单的将PATH_INFO转换为全局的$_GET数组,这样还有个好处
http://www.myhost.com/foo.php?a=A&b=B&c=C
http://www.myhost.com/foo.php/a/A/b/B/c/C
上面的url同时可以访问,保证了通用性
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
xapian是啥玩意?
xapian 是一个“Xapian 是一个开源概率论信息检索库,基于GPL发布。它是用C++编写的,提供的绑定可以支持其它语言(支持Perl, Python, PHP, Java, and TCL )的开发。 Xapian 设计为一个高度可适应的工具集,可以让开发人员方便地为他们自己的应用程序增加高级索引和搜索功能。”
在网上找到这段介绍后,俺手痒痒就想试试xapian ---- 一定要给php整个这东东上去.参考了若干文档以后,这就开始动手了(我的环境仍然是freebsd + apache 2.2 + php 5.1.2,apache和php原来就已经安装好):
1.下载xapian
cd /usr/local/src
wget http://www.oligarchy.co.uk/xapian/0.9.4/xapian-core-0.9.4.tar.gz
wget http://www.oligarchy.co.uk/xapian/0.9.4/xapian-bindings-0.9.4.tar.gz
前者是xapian的核心lib代码,后者是给其它语言调用的接口
2.安装Xapian-core
cd /usr/local/src
tar xzvf xapian-core-0.9.4.tar.gz
cd xapian-core-0.9.4
./configure --prefix=/usr/local/xapian
make
make install
3.安装Xapian-bindings
cd /usr/local/src
tar xzvf xapian-bindings-0.9.4.tar.gz
cd xapian-bindings-0.9.4
ln -s /usr/local/xapian/bin/xapian-config /usr/local/bin/xapian-config #这里需要做个软连接,编译的时候需要用到
./configure --without-python #我没用到python,就不编译了
make
make install
进行到这一步,Xapian-bindings应该算是安装好了,但是不知道为何,编译好的xapian.so没有按说明文档所说的自动复制到php的extension目录,于是我手工完成这一步骤
cp php/.libs/xapian.so /usr/local/lib/php #/usr/local/lib/php是我在php.ini设置的extension目录
然后修改php.ini
extension_dir = "/usr/local/lib/php/" #没有就加上
extension=xapian.so
安装全部完成,重启apache看看phpinfo:
一切ok:)
今天才发觉www2.google.com,www3.google.com都不能直接访问到了,一访问就会被重定向到www.google.com,那么以后如何观察google dance的过程?
什么是google dance?
Google Dance其实就是指Google重新安排它的搜索结果的排名的过程。在Google Dance时期(三到五天内),你可以发现Google的搜索结果会有大幅度的波动。
Google Dance的检测办法是通过查看它在各数据中心上的搜索结果加以判断,如果同一关键词下的搜索结果的数量和内容不一致,则属于Google Dance。一般只需要检测三台网络服务器搜索结果即可,他们是:
www.google.com
www2.google.com
www3.google.com
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
CLucene是SF上面的一个对Lucene(一个用Java写的全文检索引擎工具包)的移植,做为Lucene的C++的重新实现,以带来更快的检索速度,但是一直还不stable.这里仅仅是尝试php+clucene扩展的安装,具体应用先不管.
安装环境:
Freebsd 6.0 + apache 2.2 + php 5.1.2
apache+php的安装就不说了,网上一抓一大把,注意clucene扩展必须在php5以上才能安装.
首先安装clucene
1.下载clucene
直奔它的首页--clucene.sourceforge.net,下载clucene 0.9.10
2.编译clucene
tar xzvf clucene-0.9.10.tar.gz
cd clucene-0.9.10
./autogen.sh
./configure
make
这样clucene就安装好了,为了让其它程序可以调用clucene,这里把编译好的lib放到系统lib目录下
cp src/.libs/libclucene.* /usr/local/lib
cp src/CLucene.h /usr/local/include/
cp -r src/CLucene /usr/local/include/
安装clucene php extension
1.下载clucene php extension
在pecl.php.net有下载,拖回来就是
http://pecl.php.net/package/clucene
2.编译clucene php extension
tar xzvf clucene-0.0.9.tgz
cd clucene-0.0.9
cp -r /usr/local/include/Clucene include/ #编译时要把clucene的include文件弄一份
cp -r /usr/local/include/Clucene.h include/
phpize
./configure
make
编译完成,这里会生成一个clucene.so,我们把它放在php的extension目录下(没有就建一个),然后修改php.ini
加入
extension=clucene.so
重启apache之后看phpinfo
至此安装就算完成了,demo嘛在examples目录下有一个,命令行调用方式(根据已有的index检索):
php clucene.php "Your query"
BTW:新出的zend framework也有lucene模块,但是功能还不完善,现在0.1.2好像只能建立索引,检索功能尚在开发中
最近的某个项目需要配合seo,改进php动态页面的url,这里首先参考了车东的
如何提高在Google中的排名(3) —— Search Engine Friendly的URL设计
其中有一段url rewrite的例子比较符合要求且改动最少:
一个更通用的能够将所有的动态页面进行参数映射的表达式是:
把 http://www.myhost.com/foo.php?a=A&b=B&c=C
表现成 http://www.myhost.com/foo.php/a/A/b/B/c/C。
RewriteRule (.*?\.php)(\?[^/]*)?/([^/]*)/([^/]*)(.+?)? $1(?2$2&:\?)$3=$4?5$5: [N,I]
这段例子我在自家的apache上操练了很久,反复的调试,修改httpd.conf,查看error.log,rewrite.log,失败的一塌糊涂,几乎让我产生巨大的挫败感.后来查看了apache手册的rewrite指南,发觉里面根本没有[N,I]这个I flag,这下终于明白,这个rewrite规则8成是在IIS上面适用,IIS和apache向来是世仇,通用就甭考虑了.这里又去麻烦网管大哥,讨得下面这段rewrite规则,基本满足需求:
RewriteEngine on
RewriteMap quux-map prg:/root/t.sh
RewriteRule ^/(.*)\.php/(.*) /$1.php?${quux-map:$2}
cat t.sh
#!/bin/sh
LOGFILE=/tmp/percent_rewrite.log
cat /dev/null > $LOGFILE
while read URL
do
NEWURL=$(echo "$URL" | sed -e 's/\([^/]*\)\/\([^/]*\)\//\1=\2\&/g' | sed 's/[/&]$//' | sed 's/\//=/' )
echo "Changing $URL to $NEWURL" >> $LOGFILE
echo $NEWURL