#!/bin/bash # info: list php config parameters # options: [FORMAT] # # example: v-list-sys-php-config # # This function for obtaining the list of php config parameters. #----------------------------------------------------------# # Variables & Functions # #----------------------------------------------------------# # Argument definition format=${1-shell} # Includes # shellcheck source=/etc/hestiacp/hestia.conf source /etc/hestiacp/hestia.conf # shellcheck source=/usr/local/hestia/func/main.sh source $HESTIA/func/main.sh # load config file source_conf "$HESTIA/conf/hestia.conf" # JSON list function json_list() { parse_object_kv_list $(echo "$config" | egrep "$keys" \ | sed -e "s/[ ]*=/=/" -e "s/=[ ]*/=\'/" -e "s/$/'/") echo '{ "CONFIG": { "memory_limit": "'$memory_limit'", "max_execution_time": "'$max_execution_time'", "max_input_time": "'$max_input_time'", "upload_max_filesize": "'$upload_max_filesize'", "post_max_size": "'$post_max_size'", "display_errors": "'$display_errors'", "error_reporting": "'$error_reporting'", "config_path": "'$config_path'" } }' } # SHELL list function shell_list() { echo "$config" | egrep "$keys" | tr -d '=' echo "config_path $config_path" } # PLAIN list function plain_list() { echo "$config" | egrep "$keys" | tr -d '=' echo "config_path $config_path" } # CSV list function csv_list() { echo "$keys" | sed "s/ |/,/g" echo "$config" | egrep "$keys" | tr -d '=' | awk '{print $2}' | tr '\n' ',' echo } #----------------------------------------------------------# # Action # #----------------------------------------------------------# # Defining config path if [ -f /etc/redhat-release ]; then config_path=$(find /etc/opt/remi/php* -name php.ini) else config_path=$(find /etc/php* -name php.ini) fi config_count=$(echo "$config_path" | wc -l) if [ "$config_count" -gt 1 ]; then if [ -f /etc/redhat-release ]; then multiphp_versions=$(ls -d /etc/opt/remi/php*/php-fpm.d 2> /dev/null | wc -l) else multiphp_versions=$(ls -d /etc/php/*/fpm/pool.d 2> /dev/null | wc -l) fi if [ "$WEB_BACKEND" = 'php-fpm' ] || [ "$multiphp_versions" -gt 0 ]; then config_path=$(echo "$config_path" | grep fpm) else config_path=$(echo "$config_path" | grep apache) fi fi # Defining keys keys="memory_limit |max_execution_time |max_input_time" keys="$keys |upload_max_filesize |post_max_size" keys="$keys |display_errors |error_reporting " # Reading config config=$(cat $config_path | grep -v "^;") # Listing data case $format in json) json_list ;; plain) plain_list ;; csv) csv_list ;; shell) shell_list | column -t ;; esac #----------------------------------------------------------# # Hestia # #----------------------------------------------------------# exit