Vorausgesetzt, dass Sie tatsächlich die ZIP-Erweiterung auf dem Server verfügbar haben, können Sie dl()
verwenden, um es dynamisch zu laden (< 5.3).
if (!extension_loaded('zip')) {
// Attempt to load the zip
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'zip.' . PHP_SHLIB_SUFFIX);
if (!extension_loaded('zip')) {
// Couldn't load the ZIP module dynamically, either
return false;
}
}
Wenn Sie eine Version über 5.3.0 verwenden, werden Sie nicht in der Lage sein, dl
zu verwenden, wenn es in einen Web-Server auf der Kommandozeile oder eingebettet läuft.
Das lässt Ihre einzige Option, die php.ini
zu ändern, wenn Sie nicht mit dem integrierten Modul in PHP neu kompilieren können. Sie können dies nicht mit ini_set
tun, da dies nur zur Laufzeit angewendet wird, während alle erforderlichen Module bereits beim Start von der PHP-Programmdatei geladen wurden.
Was ist Ihr Betriebssystem? –
gibt es eine ZIP mit einer Beschreibung, die bei einem __phpinfo() aufgelistet wird; __ – Waygood
Es gibt Userland-Implementierungen der ZIP-Erweiterung. Obwohl die API normalerweise abweicht. – mario