mod_php_install.sh: add timeout parameter.
This commit is contained in:
parent
f9f247aa1d
commit
0d94d23fe3
@ -31,58 +31,6 @@ _LEGACY_SQL_FUNCTION_SUPPORT=no
|
|||||||
_SYMLINK_PHP=no
|
_SYMLINK_PHP=no
|
||||||
_SYMLINK_PHP_MAIN_VERSION=yes
|
_SYMLINK_PHP_MAIN_VERSION=yes
|
||||||
|
|
||||||
_MEMORY_LIMIT="512M"
|
|
||||||
_MAX_EXECUTION_TIME=180
|
|
||||||
_MAX_INPUT_TIME=180
|
|
||||||
_UPLOAD_MAX_FILESIZE="128M"
|
|
||||||
_POST_MAX_SIZE="128M"
|
|
||||||
|
|
||||||
_ZLIB_OUTPUT_COMPRESSION="On"
|
|
||||||
|
|
||||||
# Default Settings opcache extension
|
|
||||||
#
|
|
||||||
DEFAULT_OPCACHE_ENABLE=1
|
|
||||||
DEFAULT_OPCACHE_ENABLE_CLI=1
|
|
||||||
#DEFAULT_OPCACHE_MEMORY_CONSUMPTION=128
|
|
||||||
DEFAULT_OPCACHE_MEMORY_CONSUMPTION=512
|
|
||||||
DEFAULT_OPCACHE_INTERNED_STRINGS_BUFFER=48
|
|
||||||
#DEFAULT_OPCACHE_MAX_ACCELERATED_FILES=10000
|
|
||||||
DEFAULT_OPCACHE_MAX_ACCELERATED_FILES=60000
|
|
||||||
#DEFAULT_OPCACHE_VALIDATE_TIMESTAMPS=1
|
|
||||||
DEFAULT_OPCACHE_VALIDATE_TIMESTAMPS=0
|
|
||||||
|
|
||||||
DEFAULT_OPCACHE_CONSISTENCY_CHECKS=0
|
|
||||||
|
|
||||||
DEFAULT_OPCACHE_REVALIDATE_FREQ=60
|
|
||||||
if [[ -d "/var/log/apache2" ]] ; then
|
|
||||||
DEFAULT_OPCACHE_ERROR_LOG="/var/log/apache2/opcache_errors.log"
|
|
||||||
elif [[ -d "/var/log/nginx" ]]; then
|
|
||||||
DEFAULT_OPCACHE_ERROR_LOG="/var/log/nginx/opcache_errors.log"
|
|
||||||
else
|
|
||||||
DEFAULT_OPCACHE_ERROR_LOG=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Default Settings apc extension
|
|
||||||
#
|
|
||||||
DEFAULT_APC_ENABLE_CLI=1
|
|
||||||
DEFAULT_APC_SHM_SIZE="32M"
|
|
||||||
DEFAULT_APC_STAT=1
|
|
||||||
DEFAULT_APCU_STAT=1
|
|
||||||
DEFAULT_APC_BY_DEFAULT=1
|
|
||||||
DEFAULT_APC_SMART=0
|
|
||||||
|
|
||||||
_SKIP_UPDATE_DB=yes
|
|
||||||
|
|
||||||
_CRONTAB_BAKUP_FILE="$(mktemp)"
|
|
||||||
|
|
||||||
_VSERVER_GUEST=no
|
|
||||||
|
|
||||||
# Array oft existing FPM pool definitions
|
|
||||||
#
|
|
||||||
declare -a php_fpm_pool_definition_file_arr=()
|
|
||||||
|
|
||||||
_backup_date="$(date +%Y%m%d-%H%M)"
|
|
||||||
|
|
||||||
|
|
||||||
## --- Some functions
|
## --- Some functions
|
||||||
## ---
|
## ---
|
||||||
@ -190,6 +138,103 @@ detect_os_1 () {
|
|||||||
## ---
|
## ---
|
||||||
## --- END: functions
|
## --- END: functions
|
||||||
|
|
||||||
|
## --- Some (default) Variables
|
||||||
|
## ---
|
||||||
|
|
||||||
|
_MEMORY_LIMIT="512M"
|
||||||
|
|
||||||
|
# MAX_EXECUTION_TIME
|
||||||
|
#
|
||||||
|
# Try to set an adequate default value
|
||||||
|
#
|
||||||
|
declare -i PROXY_TIMEOUT=0
|
||||||
|
if [[ -f "/usr/local/apache2/conf/httpd.conf" ]]; then
|
||||||
|
_HTTPD_CONF_FILE="/usr/local/apache2/conf/httpd.conf"
|
||||||
|
elif [[ -f "/etc/apache2/apache2.conf" ]]; then
|
||||||
|
_HTTPD_CONF_FILE="/etc/apache2/apache2.conf"
|
||||||
|
else
|
||||||
|
_HTTPD_CONF_FILE=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "${_HTTPD_CONF_FILE}" ]] && $(grep -q -i -E "^\s*Timeout\s+" "${_HTTPD_CONF_FILE}") ; then
|
||||||
|
_TIMEOUT="$(grep -i -E "^\s*timeout\s+" "${_HTTPD_CONF_FILE}"| awk '{print$2}' | head -1)"
|
||||||
|
else
|
||||||
|
_TIMEOUT=60
|
||||||
|
fi
|
||||||
|
if [[ -f "${_HTTPD_CONF_FILE}" ]] && $(grep -q -i -E "^\s*ProxyTimeout\s+" "${_HTTPD_CONF_FILE}") ; then
|
||||||
|
PROXY_TIMEOUT="$(grep -i -E "^\s*ProxyTimeout\s+" "${_HTTPD_CONF_FILE}"| awk '{print$2}' | head -1)"
|
||||||
|
else
|
||||||
|
PROXY_TIMEOUT=${_TIMEOUT}
|
||||||
|
fi
|
||||||
|
|
||||||
|
_MAX_EXECUTION_TIME=180
|
||||||
|
if $(is_int "$PROXY_TIMEOUT") ; then
|
||||||
|
|
||||||
|
if [[ $PROXY_TIMEOUT -gt 180 ]] ; then
|
||||||
|
_MAX_EXECUTION_TIME=$PROXY_TIMEOUT
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
PROXY_TIMEOUT=$_MAX_EXECUTION_TIME
|
||||||
|
fi
|
||||||
|
|
||||||
|
APACHE_FCGID_MAX_REQUESTS_PER_PROCESS=''
|
||||||
|
if [[ -f "${_HTTPD_CONF_FILE}" ]] && $(grep -q -i -E "^\s*FcgidMaxRequestsPerProcess\s+" "${_HTTPD_CONF_FILE}") ; then
|
||||||
|
APACHE_FCGID_MAX_REQUESTS_PER_PROCESS="$(grep -i -E "^\s*FcgidMaxRequestsPerProcess\s+" "${_HTTPD_CONF_FILE}"| awk '{print$2}' | head -1)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
_MAX_INPUT_TIME=180
|
||||||
|
_UPLOAD_MAX_FILESIZE="128M"
|
||||||
|
_POST_MAX_SIZE="128M"
|
||||||
|
|
||||||
|
_ZLIB_OUTPUT_COMPRESSION="On"
|
||||||
|
|
||||||
|
# Default Settings opcache extension
|
||||||
|
#
|
||||||
|
DEFAULT_OPCACHE_ENABLE=1
|
||||||
|
DEFAULT_OPCACHE_ENABLE_CLI=1
|
||||||
|
#DEFAULT_OPCACHE_MEMORY_CONSUMPTION=128
|
||||||
|
DEFAULT_OPCACHE_MEMORY_CONSUMPTION=512
|
||||||
|
DEFAULT_OPCACHE_INTERNED_STRINGS_BUFFER=48
|
||||||
|
#DEFAULT_OPCACHE_MAX_ACCELERATED_FILES=10000
|
||||||
|
DEFAULT_OPCACHE_MAX_ACCELERATED_FILES=60000
|
||||||
|
#DEFAULT_OPCACHE_VALIDATE_TIMESTAMPS=1
|
||||||
|
DEFAULT_OPCACHE_VALIDATE_TIMESTAMPS=0
|
||||||
|
|
||||||
|
DEFAULT_OPCACHE_CONSISTENCY_CHECKS=0
|
||||||
|
|
||||||
|
DEFAULT_OPCACHE_REVALIDATE_FREQ=60
|
||||||
|
if [[ -d "/var/log/apache2" ]] ; then
|
||||||
|
DEFAULT_OPCACHE_ERROR_LOG="/var/log/apache2/opcache_errors.log"
|
||||||
|
elif [[ -d "/var/log/nginx" ]]; then
|
||||||
|
DEFAULT_OPCACHE_ERROR_LOG="/var/log/nginx/opcache_errors.log"
|
||||||
|
else
|
||||||
|
DEFAULT_OPCACHE_ERROR_LOG=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Default Settings apc extension
|
||||||
|
#
|
||||||
|
DEFAULT_APC_ENABLE_CLI=1
|
||||||
|
DEFAULT_APC_SHM_SIZE="32M"
|
||||||
|
DEFAULT_APC_STAT=1
|
||||||
|
DEFAULT_APCU_STAT=1
|
||||||
|
DEFAULT_APC_BY_DEFAULT=1
|
||||||
|
DEFAULT_APC_SMART=0
|
||||||
|
|
||||||
|
_SKIP_UPDATE_DB=yes
|
||||||
|
|
||||||
|
_CRONTAB_BAKUP_FILE="$(mktemp)"
|
||||||
|
|
||||||
|
_VSERVER_GUEST=no
|
||||||
|
|
||||||
|
# Array oft existing FPM pool definitions
|
||||||
|
#
|
||||||
|
declare -a php_fpm_pool_definition_file_arr=()
|
||||||
|
|
||||||
|
_backup_date="$(date +%Y%m%d-%H%M)"
|
||||||
|
## ---
|
||||||
|
## --- END: Variables
|
||||||
|
|
||||||
|
|
||||||
## --------------------------------------------------
|
## --------------------------------------------------
|
||||||
|
|
||||||
@ -363,7 +408,7 @@ fi
|
|||||||
|
|
||||||
## --------------------------------------------------
|
## --------------------------------------------------
|
||||||
|
|
||||||
clear
|
#clear
|
||||||
echo
|
echo
|
||||||
echo -e "\033[21G\033[32mInstallation PHP \033[m"
|
echo -e "\033[21G\033[32mInstallation PHP \033[m"
|
||||||
echo
|
echo
|
||||||
@ -630,7 +675,23 @@ done
|
|||||||
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
|
||||||
__max_execution_time=$(grep -e "^\s*max_execution_time" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
__max_execution_time=$(grep -e "^\s*max_execution_time" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
|
||||||
if [ -n "$__max_execution_time" ] ; then
|
if [ -n "$__max_execution_time" ] ; then
|
||||||
_MAX_EXECUTION_TIME=$__max_execution_time
|
|
||||||
|
if ! $(is_int "$__max_execution_time") ; then
|
||||||
|
# remove trailling character (usakky it is 's' for seconds
|
||||||
|
#
|
||||||
|
len=${#__max_execution_time}
|
||||||
|
__max_execution_time="${__max_execution_time::len-1}"
|
||||||
|
|
||||||
|
if $(is_int "$__max_execution_time") ; then
|
||||||
|
|
||||||
|
if [[ ${__max_execution_time} -gt ${_MAX_EXECUTION_TIME} ]] ; then
|
||||||
|
_MAX_EXECUTION_TIME=$__max_execution_time
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -801,8 +862,14 @@ if $WITH_PHP_FPM_SUPPORT ; then
|
|||||||
DEFAULT_FPM_POOL_START_SERVER=15
|
DEFAULT_FPM_POOL_START_SERVER=15
|
||||||
DEFAULT_FPM_POOL_MIN_SPARE=6
|
DEFAULT_FPM_POOL_MIN_SPARE=6
|
||||||
DEFAULT_FPM_POOL_MAX_SPARE=24
|
DEFAULT_FPM_POOL_MAX_SPARE=24
|
||||||
DEFAULT_FPM_POOL_MAX_REQUESTS=500
|
|
||||||
DEFAULT_FPM_POOL_MAX_CHILDREN=256
|
DEFAULT_FPM_POOL_MAX_CHILDREN=256
|
||||||
|
if [[ -n "${APACHE_FCGID_MAX_REQUESTS_PER_PROCESS}" ]] ; then
|
||||||
|
DEFAULT_FPM_POOL_MAX_REQUESTS="${APACHE_FCGID_MAX_REQUESTS_PER_PROCESS}"
|
||||||
|
else
|
||||||
|
DEFAULT_FPM_POOL_MAX_REQUESTS=499
|
||||||
|
fi
|
||||||
|
DEFAULT_FPM_POOL_TERMINATE_TIMEOUT="$(expr $PROXY_TIMEOUT + 1)"
|
||||||
|
|
||||||
|
|
||||||
# If php pool definitions exists on installed php, then take that value
|
# If php pool definitions exists on installed php, then take that value
|
||||||
#
|
#
|
||||||
@ -828,12 +895,12 @@ if $WITH_PHP_FPM_SUPPORT ; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
#if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
||||||
__pm_max_requests=$(grep -e "^\s*pm.max_requests" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
# __pm_max_requests=$(grep -e "^\s*pm.max_requests" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
||||||
if [[ -n "$__pm_max_requests" ]] ; then
|
# if [[ -n "$__pm_max_requests" ]] ; then
|
||||||
DEFAULT_FPM_POOL_MAX_REQUESTS=$__pm_max_requests
|
# DEFAULT_FPM_POOL_MAX_REQUESTS=$__pm_max_requests
|
||||||
fi
|
# fi
|
||||||
fi
|
#fi
|
||||||
|
|
||||||
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
||||||
__pm_max_children=$(grep -e "^\s*pm.max_children" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
__pm_max_children=$(grep -e "^\s*pm.max_children" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
||||||
@ -842,6 +909,34 @@ if $WITH_PHP_FPM_SUPPORT ; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Parameter request_terminate_timeout
|
||||||
|
#
|
||||||
|
if [[ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" ]] ; then
|
||||||
|
__request_terminate_timeout=$(grep -e "^\s*request_terminate_timeout" "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/www-${PHP_MAIN_VERSION}.php-fpm.conf" | awk '{print$3}')
|
||||||
|
|
||||||
|
if [ -n "$__request_terminate_timeout" ] ; then
|
||||||
|
|
||||||
|
if ! $(is_int "$__request_terminate_timeout") ; then
|
||||||
|
# remove trailling character (usakky it is 's' for seconds
|
||||||
|
#
|
||||||
|
len=${#__request_terminate_timeout}
|
||||||
|
__request_terminate_timeout="${__request_terminate_timeout::len-1}"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $(is_int "$__request_terminate_timeout") ; then
|
||||||
|
|
||||||
|
if [[ ${__request_terminate_timeout} -gt ${PROXY_TIMEOUT} ]] ; then
|
||||||
|
DEFAULT_FPM_POOL_TERMINATE_TIMEOUT=${__request_terminate_timeout}
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# Get existing FPM pool definitions
|
# Get existing FPM pool definitions
|
||||||
#
|
#
|
||||||
for _file in $(ls "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/") ; do
|
for _file in $(ls "/usr/local/php-${PHP_MAIN_VERSION}/etc/fpm.d/") ; do
|
||||||
@ -959,6 +1054,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
|
|||||||
done
|
done
|
||||||
|
|
||||||
FPM_POOL_MAX_CHILDREN=""
|
FPM_POOL_MAX_CHILDREN=""
|
||||||
|
DEFAULT_FPM_POOL_MAX_CHILDREN=$(expr $FPM_POOL_MIN_SPARE + $DEFAULT_FPM_POOL_MAX_CHILDREN + 5)
|
||||||
while [[ "X$FPM_POOL_MAX_CHILDREN" = "X" ]]; do
|
while [[ "X$FPM_POOL_MAX_CHILDREN" = "X" ]]; do
|
||||||
echononl "pm.max_children: [$DEFAULT_FPM_POOL_MAX_CHILDREN] "
|
echononl "pm.max_children: [$DEFAULT_FPM_POOL_MAX_CHILDREN] "
|
||||||
read FPM_POOL_MAX_CHILDREN
|
read FPM_POOL_MAX_CHILDREN
|
||||||
@ -973,6 +1069,21 @@ if $WITH_PHP_FPM_SUPPORT ; then
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
FPM_POOL_TERMINATE_TIMEOUT=""
|
||||||
|
while [[ "X$FPM_POOL_TERMINATE_TIMEOUT" = "X" ]]; do
|
||||||
|
echononl "request_terminate_timeout: [$DEFAULT_FPM_POOL_TERMINATE_TIMEOUT] "
|
||||||
|
read FPM_POOL_TERMINATE_TIMEOUT
|
||||||
|
if [ "X$FPM_POOL_TERMINATE_TIMEOUT" = "X" ]; then
|
||||||
|
FPM_POOL_TERMINATE_TIMEOUT=$DEFAULT_FPM_POOL_TERMINATE_TIMEOUT
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if ! is_int $FPM_POOL_TERMINATE_TIMEOUT ; then
|
||||||
|
warn "Wrong value for pm.max_children was given (mus be an integer). Reenter again"
|
||||||
|
FPM_POOL_TERMINATE_TIMEOUT=""
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -1827,7 +1938,6 @@ FPM_DEFAULT_POOL_ACCESS_LOG="${FPM_LOG_DIR}/${FPM_DEFAULT_POOL}-access.log"
|
|||||||
FPM_DEFAULT_POOL_SLOW_LOG="${FPM_LOG_DIR}/${FPM_DEFAULT_POOL}-slow.log"
|
FPM_DEFAULT_POOL_SLOW_LOG="${FPM_LOG_DIR}/${FPM_DEFAULT_POOL}-slow.log"
|
||||||
FPM_DEFAULT_POOL_ACCESS_FORMAT="\"%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%\""
|
FPM_DEFAULT_POOL_ACCESS_FORMAT="\"%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%\""
|
||||||
|
|
||||||
FPM_DEFAULT_POOL_TERMINATE_TIMEOUT="`expr $MAX_EXECUTION_TIME + 1`s"
|
|
||||||
|
|
||||||
FPM_ULIMIT_MAX_FILES=`su -c "ulimit -H -n" -s /bin/bash $_PHP_FPM_USER`
|
FPM_ULIMIT_MAX_FILES=`su -c "ulimit -H -n" -s /bin/bash $_PHP_FPM_USER`
|
||||||
|
|
||||||
@ -2178,6 +2288,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
|
|||||||
echo " pm.max_spare_servers..............: $FPM_POOL_MAX_SPARE"
|
echo " pm.max_spare_servers..............: $FPM_POOL_MAX_SPARE"
|
||||||
echo " pm.max_children...................: $FPM_POOL_MAX_CHILDREN"
|
echo " pm.max_children...................: $FPM_POOL_MAX_CHILDREN"
|
||||||
echo " pm.max_requests...................: $FPM_POOL_MAX_REQUESTS"
|
echo " pm.max_requests...................: $FPM_POOL_MAX_REQUESTS"
|
||||||
|
echo " request_terminate_timeout.........: $FPM_POOL_TERMINATE_TIMEOUT"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -4997,7 +5108,7 @@ request_slowlog_timeout = 10s
|
|||||||
; does not stop script execution for some reason. A value of '0' means 'off'.
|
; does not stop script execution for some reason. A value of '0' means 'off'.
|
||||||
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
||||||
; Default Value: 0
|
; Default Value: 0
|
||||||
request_terminate_timeout = $FPM_DEFAULT_POOL_TERMINATE_TIMEOUT
|
request_terminate_timeout = $FPM_POOL_TERMINATE_TIMEOUT
|
||||||
|
|
||||||
; The timeout set by 'request_terminate_timeout' ini option is not engaged after
|
; The timeout set by 'request_terminate_timeout' ini option is not engaged after
|
||||||
; application calls 'fastcgi_finish_request' or when application has finished and
|
; application calls 'fastcgi_finish_request' or when application has finished and
|
||||||
@ -5194,6 +5305,18 @@ EOF
|
|||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
key="request_terminate_timeout"
|
||||||
|
value="$FPM_POOL_TERMINATE_TIMEOUT"
|
||||||
|
echononl "\tPHP FPM Pool - Set Definition '${key}'.."
|
||||||
|
sed -i -E "s/^([[:blank:]]*${key}[[:blank:]]*=[[:blank:]]*).*/\1${value}/" \
|
||||||
|
${PREFIX_PHP}/etc/${FPM_POOL_CONF_DIR}/${FPM_DEFAULT_POOL}.php-fpm.conf
|
||||||
|
if [ "$?" = "0" ]; then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user