PHPで.zip拡張を有効にしようとしていますが、以下の関数はfalseを返します。PHPのzip拡張を有効にする
if (!extension_loaded('zip')) {
return false;
}
php.iniを使用せずに.zip拡張子を有効にするにはどうすればよいですか?
ini_set()
を有効にすることはできますか?
PHPで.zip拡張を有効にしようとしていますが、以下の関数はfalseを返します。PHPのzip拡張を有効にする
if (!extension_loaded('zip')) {
return false;
}
php.iniを使用せずに.zip拡張子を有効にするにはどうすればよいですか?
ini_set()
を有効にすることはできますか?
実際にサーバーで使用できるZIP拡張機能がある場合は、dl()
を使用して動的にロードすることができます(< 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;
}
}
あなたが5.3.0以上のバージョンを使用している場合は、それは、コマンドライン上で実行されているか、Webサーバに組み込まれていますしない限り、dl
を使用することはできません。
PHPに組み込まれたモジュールを使用して再コンパイルできない場合、php.ini
の変更のみが可能です。 ini_set
を使用して実行することはできません。実行時にのみ適用されるため、必要なモジュールはすべて起動時にPHP実行可能ファイルによってロードされます。
この機能は、PHP 5.3の一部のSAPIから削除されました。 –
dlはphp5.4で有効にならないことがあるので、--enable-gzipで再コンパイルする方が良いです –
彼は 'php.ini'を使いたくないと明示しました。もし彼がそれを使うことができないなら、あなたは本当に彼が再コンパイルできると思いますか? –
あなたのOSは何ですか?、
if (!extension_loaded('zip'))
{
$prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
dl($prefix . 'zip.' . PHP_SHLIB_SUFFIX);
if (!extension_loaded('zip'))
{
return false;
}
}
それは上記と同じように見えます。私は違いを見ることができませんでした... – asitha
これを使用しますか –
__phpinfo(); __ – Waygood
のZIP拡張のユーザーランド実装があります。 APIは通常は逸脱しますが。 "AddHandlerのがapplication/x-httpd-phpののの.php .zipファイル" :あなたの.htaccessファイルで – mario