If ssl connection to php.net fails, install and trust (temporary) the remote certificate.

This commit is contained in:
Christoph 2023-03-12 18:15:05 +01:00
parent 7b47f3ca12
commit 0b23a6c72a

View File

@ -19,6 +19,10 @@ _srcdir=$(dirname $(realpath $0))
_pwd=`pwd`
cert_URL_php_net="https://curl.haxx.se/ca/cacert.pem"
_default_cert_file=""
_default_cert_file_present=false
_PHP_FPM_SUPPORT=yes
_LEGACY_SQL_FUNCTION_SUPPORT=no
@ -75,6 +79,12 @@ fatal(){
echo ""
echo -e "\t\033[31m\033[1mInstalllation wird abgebrochen\033[m\033[m"
echo ""
if [[ -f "${_CRONTAB_BAKUP_FILE}" ]]; then
crontab "${_CRONTAB_BAKUP_FILE}" > /dev/null 2>&1
fi
if $_default_cert_file_present ; then
mv "${_default_cert_file}.${_backup_date}" "${_default_cert_file}" > /dev/null 2>&1
fi
rm -f "$tmp_err_msg"
exit 1
}
@ -777,6 +787,38 @@ if $WITH_PHP_FPM_SUPPORT ; then
fi
echo ""
echo ""
echo -e "\033[32m--\033[m"
echo ""
echo -e "Set PHP run directory (the directory where your php socket file is located"
echo ""
echo "posstible values are:"
echo " /tmp"
echo " /run/php"
echo " /var/run/php (deprecated"
echo ""
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 9 ]] ; then
DEFAULT_FPM_RUN_DIR="/run/php"
else
DEFAULT_FPM_RUN_DIR="/var/run/php"
fi
FPM_RUN_DIR=""
while [[ -z "$FPM_RUN_DIR" ]] ; do
echononl "Define PHP run directory [\033[33m${DEFAULT_FPM_RUN_DIR}\033[m]: "
read FPM_RUN_DIR
if [[ -z "$FPM_RUN_DIR" ]]; then
FPM_RUN_DIR="${DEFAULT_FPM_RUN_DIR}"
else
if [[ ! "${FPM_RUN_DIR}" = "/tmp" ]] && [[ ! "${FPM_RUN_DIR}" = "/run" ]] \
&& [[ ! "${FPM_RUN_DIR}" = "/var/run" ]] ; then
echo -e "\n\t\033{1;mWrong value was given..\033[m]\n"
FPM_RUN_DIR=""
fi
fi
done
echo ""
echo ""
@ -1368,11 +1410,7 @@ if $WITH_PHP_FPM_SUPPORT && $WITH_MOD_PHP ; then
fi
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 9 ]] ; then
FPM_PID_FILE=/run/php-${PHP_MAIN_VERSION}-fpm.pid
else
FPM_PID_FILE=/var/run/php-${PHP_MAIN_VERSION}-fpm.pid
fi
FPM_PID_FILE="${FPM_RUN_DIR}/php-${PHP_MAIN_VERSION}-fpm.pid"
FPM_SYSTEMD_FILE=/etc/systemd/system/php-${PHP_MAIN_VERSION}-fpm.service
FPM_INIT_SCRIPT=/etc/init.d/php-${PHP_MAIN_VERSION}-fpm
@ -1385,7 +1423,7 @@ FPM_DEFAULT_POOL=www-${PHP_MAIN_VERSION}
FPM_DEFAULT_POOL_USER=$_PHP_FPM_USER
FPM_DEFAULT_POOL_GROUP=$_PHP_FPM_GROUP
FPM_DEFAULT_POOL_LISTEN=/tmp/php-${PHP_MAIN_VERSION}-fpm.`echo ${FPM_DEFAULT_POOL} | cut -d'-' -f1`.sock
FPM_DEFAULT_POOL_LISTEN="${FPM_RUN_DIR}/php-${PHP_MAIN_VERSION}-fpm.$(echo ${FPM_DEFAULT_POOL} | cut -d'-' -f1).sock"
FPM_DEFAULT_POOL_LISTEN_OWNER=$_PHP_FPM_USER
FPM_DEFAULT_POOL_LISTEN_GROUP=$HTTPD_GROUP
FPM_DEFAULT_POOL_LISTEN_MODE=0660
@ -1647,6 +1685,8 @@ if $WITH_PHP_FPM_SUPPORT ; then
echo " Activate FPM init script..........: $ACTIVATE_PHP_FPM_INIT_SCRIPT"
echo " Set umask 0002 for FPM............: $SET_UMASK"
echo ""
echo " PHP run directory.................: $FPM_RUN_DIR"
echo ""
echo " PHP FPM Socket definition(s)......: ${FPM_DEFAULT_POOL}.php-fpm.conf"
if [[ ${#existing_fpm_definition_arr[@]} -gt 0 ]] ; then
for _file in "${existing_fpm_definition_arr[@]}" ; do
@ -2653,12 +2693,139 @@ if [ ! -f ${_srcdir}/php-$VERSION.tar.bz2 ]; then
echo_ok
else
echo_failed
fatal "Cannot Download php-$VERSION.tar.bz2"
error "Cannot Download php-$VERSION.tar.bz2"
echo "" >> ${_logdir}/main.log
echo "# Maybe a certificate from download location is missing.." >> ${_logdir}/main.log
echo "#" >> ${_logdir}/main.log
echo -e "\tMaybe a certificate from download location is missing.."
echo ""
_update_ca_certificates_dir="/usr/local/share/ca-certificates"
cert_name="$(basename "${cert_URL_php_net}")"
cert_name="${cert_name%.*}.crt"
_path_to_openssl_dir="$(openssl version -d | awk '{print$2}')"
_path_to_openssl_dir=${_path_to_openssl_dir#\"}
_path_to_openssl_dir=${_path_to_openssl_dir%\"}
_path_to_openssl_dir="$(realpath "${_path_to_openssl_dir}")"
_default_cert_dir="$(realpath "${_path_to_openssl_dir}/certs")"
_failed=false
echononl "\tTry to.add certifivcate to ca-certificates file."
echo "" >> ${_logdir}/main.log
echo "# Try to.add certifivcate to ca-certificates file." >> ${_logdir}/main.log
echo "#" >> ${_logdir}/main.log
echo "wget --no-check-certificate -O \"${_update_ca_certificates_dir}/${cert_name}\" \"${cert_URL_php_net}\"" >> ${_logdir}/main.log
wget --no-check-certificate -O "${_update_ca_certificates_dir}/${cert_name}" "${cert_URL_php_net}" >> ${_logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
echo "" >> ${_logdir}/main.log
echo "# Update ca-certificates .." >> ${_logdir}/main.log
echo "#" >> ${_logdir}/main.log
echo "update-ca-certificates" >> ${_logdir}/main.log
echononl "\tUpdate ca-certificates .."
update-ca-certificates >> ${_logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
echo "" >> ${_logdir}/main.log
echo "# Rehash Cert directory .." >> ${_logdir}/main.log 2>&1
echo "#" >> ${_logdir}/main.log
echo "c_rehash "${_default_cert_dir}"" >> ${_logdir}/main.log
echononl "\tRehash Cert directory (c_rehash "${_default_cert_dir}")"
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error "Rehashing cert directory "${_default_cert_dir}" failed.."
echo ""
echononl "download php source archiv yourself and continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Interupted by user"
_failed=true
fi
else
echo_failed
error "Updating ca-certificates failed!"
echo ""
echononl "download php source archiv yourself and continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Interupted by user"
_failed=true
fi
if ! $_failed ; then
echononl "\tTry again getting the source 'php-$VERSION.tar.bz2'.."
echo "" >> ${_logdir}/main.log
echo "# Try again getting the source 'php-$VERSION.tar.bz2'" >> ${_logdir}/main.log
echo "#" >> ${_logdir}/main.log
echo "wget http://de2.php.net/distributions/php-$VERSION.tar.bz2" >> ${_logdir}/main.log
wget http://de2.php.net/distributions/php-$VERSION.tar.bz2 >> ${_logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error "Cannot Download 'php-$VERSION.tar.bz2' even having trusted cerificate from '${cert_URL_php_net}'"
echo ""
echononl "download php source archiv yourself and continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Interupted by user"
fi
fi
else
echo_failed
error "Cannot add certificates to ca-certificates file."
echo ""
echononl "download php source archiv yourself and continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Interupted by user"
fi
fi
else
echo_skipped
fi
echononl "\tUnpack archive \"php-$VERSION.tar.bz2\".."
bunzip2 < ${_srcdir}/php-$VERSION.tar.bz2 | tar -xf - 2> $tmp_err_msg
if [[ $? -eq 0 ]]; then
@ -2943,6 +3110,71 @@ else
echo_ok
fi
if [[ "${FPM_RUN_DIR}" =~ ^/run/ ]] ; then
if [[ ! -d "${FPM_RUN_DIR}" ]]; then
echononl "Create Run directory '$FPM_RUN_DIR' .."
echo "" >> ${_logdir}/main.log
echo "## - Create Run directory '$FPM_RUN_DIR'" >> ${_logdir}/main.log
echo "## -" >> ${_logdir}/main.log
echo "mkdir \"$FPM_RUN_DIR\"" >> ${_logdir}/main.log
mkdir "$FPM_RUN_DIR" >> ${_logdir}/main.log 2>&1
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
error "Creating Run directory '$FPM_RUN_DIR' failed!"
fi
echononl "Change owner of run directory '$FPM_RUN_DIR'"
echo "" >> ${_logdir}/main.log
echo "## - Change owner of run directory '$FPM_RUN_DIR'" >> ${_logdir}/main.log
echo "## -" >> ${_logdir}/main.log
echo "chown $FPM_DEFAULT_POOL_USER:${FPM_DEFAULT_POOL_GROUP} \"${FPM_RUN_DIR}\"" >> ${_logdir}/main.log
chown $FPM_DEFAULT_POOL_USER:${FPM_DEFAULT_POOL_GROUP} ${FPM_RUN_DIR} >> ${_logdir}/main.log
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
error "Changing owner of un directory '$FPM_RUN_DIR' failed!"
fi
fi
echononl "Force systemd to create run directory on each startup.."
echo "" >> ${_logdir}/main.log
echo "## - Force systemd to create run directory on each startup." >> ${_logdir}/main.log
echo "## -" >> ${_logdir}/main.log
echo "## - Create '/etc/tmpfiles.d/mysql.conf' with content:" >> ${_logdir}/main.log
echo "## -" >> ${_logdir}/main.log
echo "## - # systemd tmpfile settings for mysql or mariadb" >> ${_logdir}/main.log
echo "## - d $FPM_RUN_DIR 0755 $FPM_DEFAULT_POOL_USER $FPM_DEFAULT_POOL_GROUP -" >> ${_logdir}/main.log
echo "## -" >> ${_logdir}/main.log
echo "" >> ${_logdir}/main.log
echo "cat << EOF > /etc/tmpfiles.d/php-fpm.conf
# systemd tmpfile settings for php fpm
d $FPM_RUN_DIR 0755 $FPM_DEFAULT_POOL_USER $FPM_DEFAULT_POOL_GROUP -
EOF" >> ${_logdir}/main.log
cat <<EOF > /etc/tmpfiles.d/php-fpm.conf
# systemd tmpfile settings for php fpm
d $FPM_RUN_DIR 0755 $FPM_DEFAULT_POOL_USER $FPM_DEFAULT_POOL_GROUP -
EOF
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
error "Creating file '/etc/tmpfiles.d/php-fpm.conf' failed!"
fi
fi
#cp php.ini-production $PHP_INI_FILE || exit 1
[[ -f $PHP_INI_FILE ]] && cp -a $PHP_INI_FILE ${PHP_INI_FILE}-$_backup_date
@ -4025,6 +4257,7 @@ echo ""
> ${_logdir}/pecl_install.log
## -----
## - Update Channel 'pecl.php.net'
## -----
@ -4049,6 +4282,233 @@ fi
## -----
## -----
## - Check if remote 'pecl.php.net' is reachable also via ssl..
## -----
echo "## -----" >> ${_logdir}/pecl_install.log
echo "## - Check if remote 'pecl.php.net' is reachable via ssl" >> ${_logdir}/pecl_install.log
echo "## -----" >> ${_logdir}/pecl_install.log
echononl "\tCheck if remote 'pecl.php.net' is reachable.."
echo "" >> ${_logdir}/pecl_install.log
echo "${PREFIX_PHP}/bin/pecl remote-list" >> ${_logdir}/pecl_install.log
${PREFIX_PHP}/bin/pecl remote-list >> ${_logdir}/pecl_install.log 2>&1
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
echo -e "\tMaybe remote certificate will not be trusted.."
echo ""
echo "" >> ${_logdir}/pecl_install.log
echo "# Maybe remote certificate will not be trusted.." >> ${_logdir}/pecl_install.log
echo "#" >> ${_logdir}/pecl_install.log
echo "# Try to replace '\${default_cert_file}' with thr missing certificate .." >> ${_logdir}/pecl_install.log
echo "#" >> ${_logdir}/pecl_install.log
echo "_default_cert_file=\"\$(\${PREFIX_PHP}/bin/php -r \"print_r(openssl_get_cert_locations());\" | grep -E \"\[default_cert_file\]\" | awk '{print\$3}')\"" >> ${_logdir}/pecl_install.log
_default_cert_file="$(${PREFIX_PHP}/bin/php -r "print_r(openssl_get_cert_locations());" | grep -E "\[default_cert_file\]" | awk '{print$3}')"
if [[ -f "${_default_cert_file}" ]] ; then
_default_cert_file_present=true
echo "# mv \"${_default_cert_file}\" \"${_default_cert_file}.${_backup_date}\"" >> ${_logdir}/pecl_install.log
mv "${_default_cert_file}" "${_default_cert_file}.${_backup_date}" >> ${_logdir}/pecl_install.log 2>&1
else
_default_cert_file_present=false
fi
echononl "\tTry to replace '\${default_cert_file}' with thr missing certificate .."
echo "wget --no-check-certificate -O ${_default_cert_file} ${cert_URL_php_net}" >> ${_logdir}/pecl_install.log
wget --no-check-certificate -O ${_default_cert_file} "${cert_URL_php_net}" >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then
echo_ok
if ! $_default_cert_file_present ; then
info "No file ${_default_cert_file} was present."
else
warn "File '${_default_cert_file}' is replaced.
Old file is renamed to '${_default_cert_file}.${_backup_date}'"
fi
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
echo ""
echononl "Try install certificate yourself and continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Interupted by user"
fi
fi
## -----
## - END: Check if remote 'pecl.php.net' is reachable also via ssl..
## -----
## -----
## - Install redis
## -----
echo "" >> ${_logdir}/pecl_install.log
echo "" >> ${_logdir}/pecl_install.log
echo "## -----" >> ${_logdir}/pecl_install.log
echo "## - Install redis" >> ${_logdir}/pecl_install.log
echo "## -----" >> ${_logdir}/pecl_install.log
echo "" >> ${_logdir}/pecl_install.log
echononl "\tInstall redis via pecl.."
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
echo "" >> ${_logdir}/pecl_install.log
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install redis-4.2.0" >> ${_logdir}/pecl_install.log
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis-4.2.0 >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then
echo_ok
echononl "\tphp.ini: extension=redis .."
_extension="redis.so"
echo "" >> ${_logdir}/pecl_install.log
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fi
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
fi
else
echo "" >> ${_logdir}/pecl_install.log
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install" >> ${_logdir}/pecl_install.log
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then
echo_ok
echononl "\tphp.ini: extension=redis .."
_extension="redis.so"
echo "" >> ${_logdir}/pecl_install.log
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fi
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
echo -e "\tMaybe remote certificate will not be trusted.."
echo ""
echo "" >> ${_logdir}/pecl_install.log
echo "# Maybe remote certificate will not be trusted.." >> ${_logdir}/pecl_install.log
echo "#" >> ${_logdir}/pecl_install.log
echo "# Try to replace '\${default_cert_file}' with thr missing certificate .." >> ${_logdir}/pecl_install.log
echo "#" >> ${_logdir}/pecl_install.log
echo "_default_cert_file=\"\$(\${PREFIX_PHP}/bin/php -r \"print_r(openssl_get_cert_locations());\" | grep -E \"\[default_cert_file\]\" | awk '{print\$3}')\"" >> ${_logdir}/pecl_install.log
_default_cert_file="$(${PREFIX_PHP}/bin/php -r "print_r(openssl_get_cert_locations());" | grep -E "\[default_cert_file\]" | awk '{print$3}')"
if [[ -f "${_default_cert_file}" ]] ; then
_default_cert_file_present=true
echo "# mv \"${_default_cert_file}\" \"${_default_cert_file}.${_backup_date}\"" >> ${_logdir}/pecl_install.log
mv "${_default_cert_file}" "${_default_cert_file}.${_backup_date}" >> ${_logdir}/pecl_install.log 2>&1
else
_default_cert_file_present=false
fi
echononl "\tTry to replace '\${default_cert_file}' with thr missing certificate .."
echo "wget --no-check-certificate -O ${_default_cert_file} ${cert_URL_php_net}" >> ${_logdir}/pecl_install.log
wget --no-check-certificate -O ${_default_cert_file} "${cert_URL_php_net}" >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then
echo_ok
if ! $_default_cert_file_present ; then
info "No file ${_default_cert_file} was present."
else
warn "File '${_default_cert_file}' is replaced.
Old file is renamed to '${_default_cert_file}.${_backup_date}'"
fi
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
echo ""
echononl "Try install certificate yourself and continue anyway [yes/no]: "
read OK
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echononl "Wrong entry! - repeat [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Interupted by user"
fi
echo "" >> ${_logdir}/pecl_install.log
echo "# Try to install redis via pecl again.." >> ${_logdir}/pecl_install.log
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install" >> ${_logdir}/pecl_install.log
echononl "\tTry to install redis via pecl again.."
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then
echo_ok
echononl "\tphp.ini: extension=redis .."
_extension="redis.so"
echo "" >> ${_logdir}/pecl_install.log
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fi
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
fi
fi
fi
## -----
## - END: Install redis
## -----
## -----
## - Install geoip
## -----
@ -4208,76 +4668,6 @@ fi
## - END: Install solr
## -----
## -----
## - Install redis
## -----
echo "" >> ${_logdir}/pecl_install.log
echo "" >> ${_logdir}/pecl_install.log
echo "## -----" >> ${_logdir}/pecl_install.log
echo "## - Install redis" >> ${_logdir}/pecl_install.log
echo "## -----" >> ${_logdir}/pecl_install.log
echo "" >> ${_logdir}/pecl_install.log
echononl "\tInstall redis via pecl.."
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
echo "" >> ${_logdir}/pecl_install.log
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install redis-4.2.0" >> ${_logdir}/pecl_install.log
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis-4.2.0 >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then
echo_ok
echononl "\tphp.ini: extension=redis .."
_extension="redis.so"
echo "" >> ${_logdir}/pecl_install.log
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fi
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
fi
else
echo "" >> ${_logdir}/pecl_install.log
echo "printf \"\\n\" | ${PREFIX_PHP}/bin/pecl install" >> ${_logdir}/pecl_install.log
printf "\n" | ${PREFIX_PHP}/bin/pecl install redis >> "${_logdir}/pecl_install.log" 2>&1
if [ "$?" = "0" ]; then
echo_ok
echononl "\tphp.ini: extension=redis .."
_extension="redis.so"
echo "" >> ${_logdir}/pecl_install.log
echo "# php.ini: extension=redis .." >> ${_logdir}/pecl_install.log
echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fi
else
echo_failed
error "See log file: ${_logdir}/pecl_install.log"
fi
fi
## -----
## - END: Install redis
## -----
echo "" >> ${_logdir}/pecl_install.log
echo "" >> ${_logdir}/pecl_install.log
echo "## -----" >> ${_logdir}/pecl_install.log