2012-01-16 16 views
0

php.iniにzlib圧縮サポートを設定している場合、実際には動作していないようです。私は、PHP-5.3.9php zlib圧縮サポートが動作しません

私は、次のPHPコードでテストされている使用してい

zlib.output_compression = On 

; http://php.net/zlib.output-compression-level 
zlib.output_compression_level = -1 

; You cannot specify additional output handlers if zlib.output_compression 
; is activated here. This setting does the same as output_handler but in 
; a different order. 
; http://php.net/zlib.output-handler 
;zlib.output_handler = 

、私はプロではないんだけど動作しないように思えると言わなければなりません。

<?php 

$filename = tempnam('/tmp', 'zlibtest') . '.gz'; 
echo "<html>\n<head></head>\n<body>\n<pre>\n"; 
$s = "Only a test, test, test, test, test, test, test, test!\n"; 

// open file for writing with maximum compression 
$zp = gzopen($filename, "w9"); 

// write string to file 
gzwrite($zp, $s); 

// close file 
gzclose($zp); 

// open file for reading 
$zp = gzopen($filename, "r"); 

// read 3 char 
echo gzread($zp, 3); 

// output until end of the file and close it. 
gzpassthru($zp); 
gzclose($zp); 

echo "\n"; 

// open file and print content (the 2nd time). 
if (readgzfile($filename) != strlen($s)) { 
     echo "Error with zlib functions!"; 
} 
unlink($filename); 
echo "</pre>\n</body>\n</html>\n"; 

?> 

は何も出力

+1

どのクライアントでテストしましたか?要求ヘッダーはどこにあり、どのような応答ですか? – mario

+0

実際には、クライアントが 'Accept-Encoding:gzip'または' Accept-Encoding:deflate'ヘッダを送信しない限り、出力は自動的に圧縮されません。 – DaveRandom

+0

phpinfo()Accept-Encoding:gzip、deflate – lgt

答えて

0

zlibの出力ハンドラがgz番目のファイル関数とは何の関係もありませんがあります。

何か間違っているので、error_reportingをオンにしてください。

これ以外の場合は、表示されたコードが正常に動作しています。 「出力なし」の動作は再現できません。

+0

私はエラー報告を有効にしています。致命的なエラー:行8の/var/www/kakuki/zlib.phpの未定義関数gzopen()を呼び出してください。 私はPHPを再コンパイルしようとしていますが、結果はありません。この場合、私は--with-zlibを使用していました。面白かったのは、編集時にphpecho()が表示されないということです。 – lgt

関連する問題