Installation Upload Progress Meter
Upload Progress Meter ist eine Erweiterung für PHP, welches Fileuploads ermöglicht, wo man den Upload Progress mitverfolgen kann.
Installation
Ab PHP 5.2, erhalten wir die Extension auf dieser Website.
Einfach zur Info, die ursprüngliche Variante gibts hier: Upload Progress Meter Website und hier der Blog dazu Blog
Da jetzt aber der Patch direkt in PHP5.2 integriert wurde, funktioniert die ursprüngliche Variante nicht mehr. Daher kann jetzt die aktuellste PECL Version gedownloaded werden:
Besuche PECL für die aktuellste Version.
mkdir -p /usr/local/software/upload_progress_meter cd /usr/local/software/upload_progress_meter fetch http://pecl.php.net/get/uploadprogress-0.3.0.tgz tar xzfv uploadprogress-0.3.0.tgz
cd uploadprogress-0.3.0/
Jetzt folgende Befehler ausführen:
% phpize Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No: 220060519
Dieser Befehl hat nun diverse Dateien in diesem Verzeichnis erstellt.
./configure make make install
Achte darauf, wohin die Extension installiert wurde (normalerweise wird sie ins reguläre Extension-Verzeichnis gespeichert)
Jetzt Extension im ini File hinzufügen:
vi /usr/local/etc/php/extensions.ini extension=uploadprogress.so
Nun machen wir mal einen kurzen Zwischentest, der keine Errors ergeben sollte:
% php -v PHP 5.2.5 with Suhosin-Patch 0.9.6.2 (cli) (built: Dec 4 2007 10:37:36) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
Falls es hier einen Segmention Fault gibt, kann es gut sein, dass dieser von ZEND produziert wird. In dem Fall im php.ini mal alle Zend Lines auskommentieren, bis der Fehler weg ist. Danach wieder unkommentieren, was den Fehler nicht verursacht hat.
[Zend] zend_optimizer.optimization_level=15 zend_extension_manager.optimizer="/usr/local/lib/php/20060613-zts/Optimizer" zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613-zts/Optimizer_TS" zend_extension="/usr/local/lib/php/20060613-zts/ZendExtensionManager.so" ;zend_extension_ts="/usr/local/lib/php/20060613-zts/ZendExtensionManager_TS.so"
Jetzt das php.ini editieren und folgende Zeilen hinzufügen:
% vi /usr/local/etc/php.ini ; Upload Progress Bar uploadprogress.file.filename_template = /tmp_www/uploadbar/upl_%s.txt uploadprogress.file.contents_template = /tmp_www/uploadbar/upload_contents_%s uploadprogress.get_contents = 0
mit phpinfo(); checken, ob die php.ini values auch uebernommen wurden. falls die variabeln geaendert haben sollten, mit denen aus dem php.ini ersetzen.
Nun erstelle noch das Verzeichnis /tmp_www/uploadbar
mkdir /tmp_www/uploadbar ; chmod 777 /tmp_www/uploadbar
Nochmals Testen:
% php -v PHP 5.2.5 with Suhosin-Patch 0.9.6.2 (cli) (built: Dec 4 2007 10:37:36) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
Apache neu starten
apachectl restart