From 3c272ff9063e3f261807c0bc1d89f810dd092565 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Mon, 21 Sep 2020 15:06:43 +0200 Subject: [PATCH] Support redis with PHP 8 --- data/supported-extensions | 2 +- install-php-extensions | 57 ++++++++++++++++++++++++--------------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/data/supported-extensions b/data/supported-extensions index 794be8c..394e628 100644 --- a/data/supported-extensions +++ b/data/supported-extensions @@ -53,7 +53,7 @@ pthreads 5.5 5.6 7.0 raphf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 rdkafka 5.5 5.6 7.0 7.1 7.2 7.3 7.4 recode 5.5 5.6 7.0 7.1 7.2 7.3 -redis 5.5 5.6 7.0 7.1 7.2 7.3 7.4 +redis 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 shmop 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 snuffleupagus 7.0 7.1 7.2 7.3 7.4 snmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 diff --git a/install-php-extensions b/install-php-extensions index 830b1fd..4af0594 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -1239,30 +1239,43 @@ installPECLModule() { fi ;; redis) - # enable igbinary serializer support? - php --ri igbinary >/dev/null 2>/dev/null && installPECLModule_stdin='yes\n' || installPECLModule_stdin='no\n' - # enable lzf compression support? - installPECLModule_stdin="${installPECLModule_stdin}yes\n" - if test $PHP_MAJMIN_VERSION -le 506; then - installPECLModule_actual="$1-4.3.0" + if test $PHP_MAJMIN_VERSION -ge 800; then + installPECLModule_src="$(getPackageSource https://codeload.github.com/phpredis/phpredis/tar.gz/develop)" + cd -- "$installPECLModule_src" + installPECLModule_cmd='./configure' + php --ri igbinary >/dev/null 2>/dev/null && installPECLModule_cmd="$installPECLModule_cmd --enable-redis-igbinary" + phpize + $installPECLModule_cmd + make -j$(nproc) + make install + cd - >/dev/null + installPECLModule_manuallyInstalled=1 else - installPECLModule_machine=$(gcc -dumpmachine) - if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$installPECLModule_machine/libzstd.so"; then - installPECLModule_zstdVersion=1.4.4 - installPECLModule_zstdVersionMajor=$(echo $installPECLModule_zstdVersion | cut -d. -f1) - rm -rf /tmp/src/zstd - mv "$(getPackageSource https://github.com/facebook/zstd/releases/download/v1.4.4/zstd-$installPECLModule_zstdVersion.tar.gz)" /tmp/src/zstd - cd /tmp/src/zstd - make V=0 -j$(nproc) lib - cp -f lib/libzstd.so "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersion" - ln -sf "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersion" "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersionMajor" - ln -sf "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersion" "/usr/lib/$installPECLModule_machine/libzstd.so" - ln -sf /tmp/src/zstd/lib/zstd.h /usr/include/zstd.h - UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS /usr/include/zstd.h" - cd - >/dev/null - fi - # enable zstd compression support? + # enable igbinary serializer support? + php --ri igbinary >/dev/null 2>/dev/null && installPECLModule_stdin='yes\n' || installPECLModule_stdin='no\n' + # enable lzf compression support? installPECLModule_stdin="${installPECLModule_stdin}yes\n" + if test $PHP_MAJMIN_VERSION -le 506; then + installPECLModule_actual="$1-4.3.0" + else + installPECLModule_machine=$(gcc -dumpmachine) + if ! test -e /usr/include/zstd.h || ! test -e /usr/lib/libzstd.so -o -e "/usr/lib/$installPECLModule_machine/libzstd.so"; then + installPECLModule_zstdVersion=1.4.4 + installPECLModule_zstdVersionMajor=$(echo $installPECLModule_zstdVersion | cut -d. -f1) + rm -rf /tmp/src/zstd + mv "$(getPackageSource https://github.com/facebook/zstd/releases/download/v1.4.4/zstd-$installPECLModule_zstdVersion.tar.gz)" /tmp/src/zstd + cd /tmp/src/zstd + make V=0 -j$(nproc) lib + cp -f lib/libzstd.so "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersion" + ln -sf "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersion" "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersionMajor" + ln -sf "/usr/lib/$installPECLModule_machine/libzstd.so.$installPECLModule_zstdVersion" "/usr/lib/$installPECLModule_machine/libzstd.so" + ln -sf /tmp/src/zstd/lib/zstd.h /usr/include/zstd.h + UNNEEDED_PACKAGE_LINKS="$UNNEEDED_PACKAGE_LINKS /usr/include/zstd.h" + cd - >/dev/null + fi + # enable zstd compression support? + installPECLModule_stdin="${installPECLModule_stdin}yes\n" + fi fi ;; solr)