Archive for July, 2008

Firefox3下mootools所带ajax不执行的问题

Thursday, July 31st, 2008

本博客所有原创文章采用知识共享署名-非商业性使用-相同方式共享,转载请保留链接http://chaoqun.17348.com/2008/07/firefox_mootols_ajax 今天下午,碰到一个奇怪的问题,通过mootools自带的ajax异步发送一个url请求去创建一个比如文章吧,url类似:http://www.example.com/article.php?article_name=article,发现当文章名相同时在firefox3下有时候能创建成功,有时不能,但是在IE7下没有问题,马上想到是浏览器cache的问题,firefox3以为请求的地址不变就不用再向服务器发送新请求了(好心做坏事),于是在php文件中加上header("Cache-Control:no-cache,must-revalidate"); 还是不起作用,而mootools带的ajax又没有cache控制的选项。 解决的方法比较取巧,在url后加上一串随机数,这些firefox3就会认为是新的请求了,代码大致如下: url = url + '&rand_num=' + Math.random(); 除非RP太差,否则不至于出问题。

ffmpeg-php在CentOS上的快速安装

Thursday, July 31st, 2008

本博客所有原创文章采用知识共享署名-非商业性使用-相同方式共享,转载请保留链接http://chaoqun.17348.com/2008/07/ffmpeg-php-install-on-centos 最近的一个项目,要批量获取音频文件(包括mp3、wma等格式)的播放时长,由于项目整体是Lamp结构的,所以最佳的方案就是能找到这么一个PHP扩展能提供这样的功能接口。 我们用到的开源项目是http://ffmpeg-php.sourceforge.net/,ffmpeg的php扩展,下面是ffmpeg-php在linux下的快速安装。 安装需求: ffmpeg-0.4.9_pre1 or higher. php-4.3.0 or higher *需要有php-dev包,如果服务器上没有,可以通过yum install php-dev进行安装 gd-2.0 or higher (the version of GD bundled with PHP works too) *这个一般都有吧 编译安装ffmpeg非常的麻烦,还好我们找到了一个yum源可以方便的安装ffmpeg以及ffmpeg-dev,下面是步骤: vi /etc/yum.repos.d/dag.repo 输入: [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1 导入Dag的RPM_GPG_KEY,否则提示没有key无法安装 wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt rpm -import RPM-GPG-KEY.dag.txt 安装ffmpeg&ffmpeg-php yum install ffmpeg ffmpeg-devel 没有找到ffmpeg-php的安装包,所以只能编译安装了,下面是编译步骤: wget http://internap.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.1.tbz2 tar -xjf ffmpeg-php-0.5.1.tbz2 phpize ./configure make && make install 安装完之后,把ffmpeg.so(我的位置是/usr/local/lib/php/extensions/no-debug-non-zts-20060613/) 复制到php的扩展目录下,在php.ini中加入 extension=ffmpeg ffmpeg-php的api参考http://ffmpeg-php.sourceforge.net/doc/api/ 写了一个简单调用程序 在audios目录下放了三首mp3歌曲,用ab简单测试了一下结果(测试机配置巨差),下面是测试结果,处理结果大概是80首/s,还是可以接受的。 [root@centos ffmpeg]# ab -n 5000 -c 100 http://*****/ffmpeg/mp3timer.php This is ApacheBench, ...