69 lines
1.8 KiB
Bash
Executable File
69 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
##makedesc: Install php-spx
|
|
|
|
set -eo pipefail
|
|
|
|
installed() { command -v "$1" >/dev/null 2>&1; }
|
|
|
|
install() {
|
|
if [ "$(uname -s)" = "Darwin" ]; then
|
|
echo "ERROR: php-spx is not supported on macOS (requires Linux PHP extension build)." >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo
|
|
echo "==============================================="
|
|
echo "Installing php-spx"
|
|
echo "==============================================="
|
|
echo
|
|
|
|
if ! installed php; then
|
|
echo "ERROR: You need php to be installed" >&2
|
|
exit 1
|
|
fi
|
|
if ! installed phpize; then
|
|
echo "ERROR: You need php-dev to be installed" >&2
|
|
exit 2
|
|
fi
|
|
if ! installed make; then
|
|
sudo apt install -y make
|
|
fi
|
|
|
|
mkdir -p "$HOME/install/php-spx"
|
|
if installed wget; then
|
|
wget -q --show-progress https://github.com/NoiseByNorthwest/php-spx/archive/refs/heads/release/latest.zip -O /tmp/php-spx.zip
|
|
else
|
|
curl -fsSL https://github.com/NoiseByNorthwest/php-spx/archive/refs/heads/release/latest.zip -o /tmp/php-spx.zip
|
|
fi
|
|
unzip -oq /tmp/php-spx.zip -d "$HOME/install/php-spx"
|
|
rm /tmp/php-spx.zip
|
|
cd "$HOME/install/php-spx/php-spx-release-latest"
|
|
phpize
|
|
./configure
|
|
make
|
|
sudo make install
|
|
|
|
PHPVER=$(php -r 'echo ($v=explode(".",PHP_VERSION))[0].".".$v[1];')
|
|
cat << EOF | sudo tee -a "/etc/php/${PHPVER}/mods-available/spx.ini"
|
|
; https://github.com/NoiseByNorthwest/php-spx/tree/release/latest#configuration
|
|
; https://habr.com/ru/post/505192/
|
|
|
|
; extension=spx.so
|
|
; spx.data_dir = '/tmp/spx'
|
|
spx.http_enabled = 0
|
|
spx.http_key = 'spx'
|
|
; spx.http_ip_whitelist = "127.0.0.1"
|
|
|
|
EOF
|
|
|
|
sudo ln -sf "/etc/php/${PHPVER}/mods-available/spx.ini" "/etc/php/${PHPVER}/cli/conf.d/99-spx.ini"
|
|
|
|
echo
|
|
echo "Finish!"
|
|
echo
|
|
}
|
|
|
|
case "$1" in
|
|
*) install ;;
|
|
esac
|