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 installuploadprogress.so會自動安裝到/usr/local/php/lib/php/extensions/XXXXXXXXX/(這個路徑需要根據(jù)自己的實際情況查找)下。
到php.ini中加載就可以了:
注意以上這個路徑是我這邊設(shè)定的,你配置的時候要根據(jù)你自身的配置去設(shè)置路徑
上傳進度支持(Upload progress in sessions)
在PHP.ini將以下參數(shù)前面的 “ ;”分號去掉
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"
文件上傳進度反饋, 這個需求在當(dāng)前是越來越普遍, 比如大附件郵件. 在PHP5.5以前, 我們可以通過APC提供的功能來實現(xiàn). 或者使用PECL擴展uploadprogress來實現(xiàn).
雖然說, 它們能很好的解決現(xiàn)在的問題, 但是也有很明顯的不足:
- 1. 他們都需要額外安裝
- 2. 它們都使用本地機制來存儲這些信息, APC使用共享內(nèi)存, 而uploadprogress使用文件系統(tǒng)(不考慮NFS), 這在多臺前端機的時候會造成麻煩.
從PHP的角度來說, 最好的儲存這些信息的地方應(yīng)該是SESSION, 首先它是PHP原生支持的機制. 其次, 它可以被配置到存放到任何地方(支持多機共享).
正因為此, Arnaud Le Blanc提出了針對Session報告上傳進度的RFC, 并且現(xiàn)在實現(xiàn)也已經(jīng)包含在了PHP5.5的主干中.