1
0
mirror of https://github.com/shivammathur/setup-php.git synced 2025-04-08 20:29:27 +07:00

101 lines
2.8 KiB
Bash
Raw Normal View History

# Helper function to get phalcon version
get_phalcon_version() {
if [ "$extension" = "phalcon5" ]; then
2024-06-23 18:30:14 +05:30
if [ "${version:?}" = "7.4" ]; then
echo '5.4.0'
else
get_pecl_version phalcon stable 5
fi
elif [ "$extension" = "phalcon4" ]; then
2022-10-24 11:17:28 +05:30
echo '4.1.2'
elif [ "$extension" = "phalcon3" ]; then
echo '3.4.5'
fi
}
# Function to add phalcon from repo.
add_phalcon_from_repo(){
version=${version:?}
if [ "$extension" = "phalcon5" ]; then
PHALCON_PATH=build/phalcon
else
PHALCON_PATH=build/php"${version%.*}"/64bits
fi
PHALCON_CONFIGURE_OPTS="--enable-phalcon --with-php-config=$(command -v php-config)"
export PHALCON_PATH
export PHALCON_CONFIGURE_OPTS
add_extension_from_source phalcon https://github.com phalcon cphalcon v"$(get_phalcon_version)" extension
}
2020-07-26 15:48:19 +05:30
# Helper function to add phalcon.
add_phalcon_helper() {
status='Installed and enabled'
2021-10-09 06:26:16 +05:30
if [ "$(uname -s)" = "Darwin" ]; then
add_brew_extension "$extension" extension
else
package="php${version:?}-$extension"
2025-02-06 01:26:23 +05:30
add_ppa ondrej/php || update_ppa ondrej/php
2023-12-07 08:15:34 +05:30
[[ "$extension" =~ phalcon[4|5] ]] && (install_packages "php${version:?}-psr" || pecl_install psr || pecl_install psr-1.1.0)
2022-10-24 11:17:28 +05:30
(check_package "$package" && install_packages "$package") || pecl_install phalcon-"$(get_phalcon_version)" || add_phalcon_from_repo
fi
}
2020-07-26 15:48:19 +05:30
# Function to add phalcon3.
add_phalcon3() {
if shared_extension phalcon; then
2020-07-26 15:48:19 +05:30
phalcon_version=$(php -d="extension=phalcon.so" -r "echo phpversion('phalcon');" | cut -d'.' -f 1)
if [ "$phalcon_version" != "$extension_major_version" ]; then
add_phalcon_helper
else
2021-09-19 07:02:01 +05:30
enable_extension phalcon extension
fi
2020-07-26 15:48:19 +05:30
else
add_phalcon_helper
fi
}
2020-07-26 15:48:19 +05:30
# Function to add phalcon4.
add_phalcon4() {
2021-09-19 07:02:01 +05:30
enable_extension psr extension
if shared_extension phalcon; then
2021-09-19 07:02:01 +05:30
if check_extension psr; then
2020-02-02 15:23:02 +05:30
phalcon_version=$(php -d="extension=phalcon" -r "echo phpversion('phalcon');" | cut -d'.' -f 1)
if [ "$phalcon_version" != "$extension_major_version" ]; then
2020-07-26 15:48:19 +05:30
add_phalcon_helper
else
2021-09-19 07:02:01 +05:30
enable_extension phalcon extension
fi
else
2020-07-26 15:48:19 +05:30
add_phalcon_helper
fi
else
2020-07-26 15:48:19 +05:30
add_phalcon_helper
fi
2020-07-26 15:48:19 +05:30
}
2019-10-27 05:42:49 +05:30
# Function to add phalcon3.
add_phalcon5() {
if shared_extension phalcon; then
phalcon_version=$(php -d="extension=phalcon.so" -r "echo phpversion('phalcon');" | cut -d'.' -f 1)
if [ "$phalcon_version" != "$extension_major_version" ]; then
add_phalcon_helper
else
enable_extension phalcon extension
fi
else
add_phalcon_helper
fi
}
2020-07-26 15:48:19 +05:30
# Function to add phalcon.
add_phalcon() {
2022-10-24 11:17:28 +05:30
local extension=$1
2020-07-26 15:48:19 +05:30
status='Enabled'
2023-12-07 08:15:34 +05:30
[ "$extension" = "phalcon" ] && extension=phalcon5
2020-07-26 15:48:19 +05:30
extension_major_version=${extension: -1}
if [[ "$extension_major_version" =~ [3-5] ]]; then
2025-02-06 01:26:23 +05:30
add_phalcon"$extension_major_version"
fi
2020-07-26 15:48:19 +05:30
add_extension_log "phalcon" "$status"
}