A condizione che l'estensione ZIP sia disponibile sul server, è possibile utilizzare dl()
per caricarlo dinamicamente (< 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;
}
}
Se si utilizza una versione 5.3.0 di cui sopra, non sarà in grado di utilizzare dl
meno che non sia in esecuzione sulla riga di comando o incorporato in un server web.
Ciò lascia la tua unica opzione di modifica dello php.ini
se non riesci a ricompilare con il modulo integrato in PHP. Non è possibile farlo utilizzando ini_set
, poiché verrà applicato solo in fase di esecuzione mentre tutti i moduli richiesti saranno già stati caricati dall'eseguibile di PHP all'avvio.
fonte
2013-03-12 09:53:35
Qual è il tuo sistema operativo? –
c'è un ZIP di qualche descrizione elencata quando si fa un __phpinfo(); __ – Waygood
Ci sono implementazioni userland dell'estensione ZIP. Anche se l'API di solito devia. – mario