Skip to content

PHP Extension providing xz (LZMA2) compression/decompression via PHP streams. PHP7+

License

Notifications You must be signed in to change notification settings

codemasher/php-ext-xz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-ext-xz

PHP Extension providing XZ (LZMA2) compression/decompression functions.
(see Implement lzma (xz?) compression)

Continuous Integration

Build & Installation

Linux

This module requires liblzma-dev (https://tukaani.org/xz/) as well as php7-dev or php8-dev. If you are using Ubuntu, you can easily install all of them by typing the following command in your terminal:

sudo apt-get install git php7.4-dev liblzma-dev

To build and install as module, perform the following steps:

git clone https://github.com/codemasher/php-ext-xz.git cd php-ext-xz phpize ./configure make sudo make install

Do not forget to add extension=xz.so to your php.ini.

Windows

Follow the steps under "Build your own PHP on Windows" to setup your build environment. Before the compilation step, clone this repository to [...]\php-src\ext\xz and proceed.

git clone https://github.com/Microsoft/php-sdk-binary-tools.git c:\php-sdk cd c:\php-sdk phpsdk-vs16-x64.bat

Run the buildtree script and check out the php source:

phpsdk_buildtree php-8.0 git clone https://github.com/php/php-src.git cd php-src git checkout PHP-8.0

Clone the xz extension and run the build:

git clone https://github.com/codemasher/php-ext-xz .\ext\xz phpsdk_deps -u buildconf --force configure --enable-xz nmake snap

Basic usage

$fh = xzopen('/tmp/test.xz', 'w'); xzwrite($fh, 'Data you would like compressed and written.'); xzclose($fh); $fh = xzopen('/tmp/test.xz', 'r'); xzpassthru($fh); xzclose($fh);
$str = 'Data you would like compressed.'; $encoded = xzencode($str); $decoded = xzdecode($encoded);

Disclaimer

May or may not contain bugs. Use at your own risk.

About

PHP Extension providing xz (LZMA2) compression/decompression via PHP streams. PHP7+

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Languages

  • C 80.7%
  • PHP 14.4%
  • M4 3.3%
  • JavaScript 1.6%