太阳√成集团tyc234cc[主页]

服务项目:网站建设、仿站、程序开发、APP开发设计、移动网站开发设计、企业网站设计、电子商务网站开发、网站维护、网站推广、UX/UI 、HTML5、CSS3、JS / Jquery ...
四川浚浚科技有限公司
四川浚浚科技有限公司 (开发设计官网)TEL : 15308000360 / QQ : 38585404

您的位置:首页 > 技术经验 > 服务器 > 正文

安装PHP组件uploadprogress
技术支持服务电话:15308000360 【7x24提供运维服务,解决各类系统/软硬件疑难技术问题】

Your server is capable of displaying file upload progress, but does not have the required libraries. It is recommended to install the PECL uploadprogress library (preferred) or to install APC

wget http://pecl.php.net/get/uploadprogress-1.0.3.1.tgz
tar zxvf uploadprogress-1.0.3.1.tgz
cd uploadprogress-1.0.3.1
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
uploadprogress.so会自动安装到/usr/local/php/lib/php/extensions/XXXXXXXXX/(这个路径需要根据自己的实际情况查找)下。
到php.ini中加载就可以了:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/"
注意以上这个路径是我这边设定的,你配置的时候要根据你自身的配置去设置路径
extension = "uploadprogress.so"

上传进度支持(Upload progress in sessions)
在PHP.ini将以下参数前面的 “  ”分号去掉
session.upload_progress.enabled = On
session.upload_progress.cleanup = On
session.upload_progress.prefix = "upload_progress_"
session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
session.upload_progress.freq =  "1%"
session.upload_progress.min_freq = "1"
session.save_path = "/tmp"

文件上传进度反馈, 这个需求在当前是越来越普遍, 比如大附件邮件. 在PHP5.5以前, 我们可以通过APC提供的功能来实现. 或者使用PECL扩展uploadprogress来实现.

虽然说, 它们能很好的解决现在的问题, 但是也有很明显的不足:

  • 1. 他们都需要额外安装
  • 2. 它们都使用本地机制来存储这些信息, APC使用共享内存, 而uploadprogress使用文件系统(不考虑NFS), 这在多台前端机的时候会造成麻烦.

从PHP的角度来说, 最好的储存这些信息的地方应该是SESSION, 首先它是PHP原生支持的机制. 其次, 它可以被配置到存放到任何地方(支持多机共享).

正因为此, Arnaud Le Blanc提出了针对Session报告上传进度的RFC, 并且现在实现也已经包含在了PHP5.5的主干中.



上一篇:在CentOS上编译安装FFmpeg
下一篇:Apache Rewrite ? 匹配问号的写法

相关热词搜索:php uploadprogress