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太差,否则不至于出问题。
Posted in Javascript | 1 Comment »
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, ...
Posted in PHP, 默认分类 | 2 Comments »