3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* https://core.trac.wordpress.org/ticket/22952 gzencode() == gzip gzcompress() == zlib (aka. HTTP deflate) gzdeflate() == *raw* deflate encoding */ function _run_function($compress_f, $uncompress_f, $s_orig, $encoding_name) { global $compression_level; $compressed = $compress_f($s_orig, $compression_level, constant($encoding_name)); if ($compressed === false) { echo "FAIL $compress_f with encoding=$encoding_name". PHP_EOL; return false; } if ($s_orig !== $uncompress_f($compressed)) { echo "FAIL $uncompress_f after $compress_f with encoding=$encoding_name". PHP_EOL; return false; } echo "PASS $compress_f/$uncompress_f with encoding=$encoding_name". PHP_EOL; return true; } $compression_level = 6; // default level is 6 echo '=========== LATIN STRING ===========' . PHP_EOL; $str = '!@#$%^&*()QWERTYUIOPSDFGHJKL!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNMa!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD:ZXCVBNM#!@#!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM-!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD$%^&*()ERTYUIODFGHJ!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM]!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPDKLXCVBNM@#$%^&*()RTYUIOPDFGHJKLCVBNMFGHJTYU%^&RFGHJ4d56g7h8ui7h8ujirqwerqh8'; _run_function('gzencode', 'gzdecode', $str, 'FORCE_GZIP'); _run_function('gzencode', 'gzdecode', $str, 'FORCE_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_RAW'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_RAW'); echo '=========== NON-LATIN STRING ===========' . PHP_EOL; $str = '布局 1 介绍 布局,简单来说就是设置元素的大小和位置。 Ext 的布局系统包括组件,布局,容器,容器是一种特殊的组件,可以管理组件的大小和位置。 容器是通过 doLayout 来重新计算布局,并更新 DOM. 2 手工布局是不必要的,框架会为你自动处理。'; _run_function('gzencode', 'gzdecode', $str, 'FORCE_GZIP'); _run_function('gzencode', 'gzdecode', $str, 'FORCE_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_RAW'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_RAW');
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
=========== LATIN STRING =========== PASS gzencode/gzdecode with encoding=FORCE_GZIP Warning: gzdecode(): data error in /in/0Y4Un on line 19 FAIL gzdecode after gzencode with encoding=FORCE_DEFLATE PASS gzcompress/gzuncompress with encoding=ZLIB_ENCODING_DEFLATE Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_GZIP Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_RAW Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_DEFLATE Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_GZIP PASS gzdeflate/gzinflate with encoding=ZLIB_ENCODING_RAW =========== NON-LATIN STRING =========== PASS gzencode/gzdecode with encoding=FORCE_GZIP Warning: gzdecode(): data error in /in/0Y4Un on line 19 FAIL gzdecode after gzencode with encoding=FORCE_DEFLATE PASS gzcompress/gzuncompress with encoding=ZLIB_ENCODING_DEFLATE Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_GZIP Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_RAW Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_DEFLATE Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_GZIP PASS gzdeflate/gzinflate with encoding=ZLIB_ENCODING_RAW
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 =========== LATIN STRING =========== PASS gzencode/gzdecode with encoding=FORCE_GZIP Warning: gzdecode(): data error in /in/0Y4Un on line 19 FAIL gzdecode after gzencode with encoding=FORCE_DEFLATE PASS gzcompress/gzuncompress with encoding=ZLIB_ENCODING_DEFLATE Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_GZIP Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_RAW Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_DEFLATE Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_GZIP PASS gzdeflate/gzinflate with encoding=ZLIB_ENCODING_RAW =========== NON-LATIN STRING =========== PASS gzencode/gzdecode with encoding=FORCE_GZIP Warning: gzdecode(): data error in /in/0Y4Un on line 19 FAIL gzdecode after gzencode with encoding=FORCE_DEFLATE PASS gzcompress/gzuncompress with encoding=ZLIB_ENCODING_DEFLATE Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_GZIP Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_RAW Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_DEFLATE Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_GZIP PASS gzdeflate/gzinflate with encoding=ZLIB_ENCODING_RAW

preferences:
254.03 ms | 405 KiB | 300 Q