php-ic组件安装服务,安装PHP组件uploadprogress

本文介绍了如何在PHP服务器上实现文件上传进度显示,推荐安装PECL的uploadprogress库或使用APC。尽管这两种方法有效,但也存在需要额外安装和信息存储局限等问题。PHP5.5开始内置了session支持上传进度,提供更好的解决方案。配置涉及修改php.ini文件加载uploadprogress.so扩展,并调整session设置。
摘要由CSDN通过智能技术生成

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 APCwget 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的主干中.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值