Fix gearman setup
This commit is contained in:
@@ -1,9 +1,22 @@
|
||||
release_version=$(lsb_release -s -r)
|
||||
sudo DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:ondrej/pkg-gearman -y
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
||||
# Helper function to add gearman extension.
|
||||
add_gearman_helper() {
|
||||
add_ppa ondrej/pkg-gearman
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y libgearman-dev
|
||||
enable_extension gearman extension
|
||||
if ! check_extension gearman; then
|
||||
status="Installed and enabled"
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"${version:?}"-gearman || pecl_install gearman
|
||||
enable_extension gearman extension
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$release_version" = "18.04" ]; then
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y libgearman-dev php"$1"-gearman
|
||||
elif [ "$release_version" = "16.04" ]; then
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install -y php"$1"-gearman
|
||||
fi
|
||||
# Function to add gearman extension.
|
||||
add_gearman() {
|
||||
status="Enabled"
|
||||
add_gearman_helper >/dev/null 2>&1
|
||||
if check_extension gearman; then
|
||||
add_log "${tick:?}" "gearman" "$status"
|
||||
fi
|
||||
}
|
||||
|
||||
add_gearman
|
||||
|
||||
@@ -82,6 +82,16 @@ pecl_install() {
|
||||
yes '' | sudo pecl install -f "$extension" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# Function to enable existing extensions.
|
||||
enable_extension() {
|
||||
if [ -e /tmp/setup_php_dismod ] && grep -q "$1" /tmp/setup_php_dismod; then
|
||||
sudo phpenmod -v "$version" "$1" >/dev/null 2>&1
|
||||
fi
|
||||
if ! check_extension "$1" && [ -e "$ext_dir/$1.so" ]; then
|
||||
echo "$2=$ext_dir/$1.so" | sudo tee -a "$pecl_file" >/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to test if extension is loaded
|
||||
check_extension() {
|
||||
extension=$1
|
||||
@@ -106,6 +116,7 @@ remove_extension() {
|
||||
extension=$1
|
||||
if [ -e /etc/php/"$version"/mods-available/"$extension".ini ]; then
|
||||
sudo phpdismod -v "$version" "$extension"
|
||||
echo "$extension" | sudo tee -a /tmp/setup_php_dismod >/dev/null 2>&1
|
||||
fi
|
||||
delete_extension "$extension"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user