#!/usr/bin/env bash [[ $@ =~ "--install" ]] && echo "Let's install...'" #version=7.2 editeur=/usr/local/bin/bbedit echo -e "\033[1mApache Tools: \033[0m" # apache v_apa=$(httpd -V | grep 'SERVER_CONFIG_FILE') conf_apa=$(echo "$v_apa" | awk -F "\"" '{print $2}') document_root=$(grep -e '^DocumentRoot' "$conf_apa" | awk '{print $2}' | sed 's/\"//g') log_apa=$(grep -e '^ErrorLog' "$conf_apa" | awk -F "\"" '{print $2}') access_apa=$(grep -e 'CustomLog' "$conf_apa" | grep -v "#" | awk -F "\"" '{print $2}') vhost=$(grep -e 'httpd-vhosts.conf' "$conf_apa" | awk '{print $2}') ssl=$(grep -e 'httpd-ssl.conf' "$conf_apa" | awk '{print $2}') # PHP v_php=$(php --ini | grep -E "$(brew --prefix).*ini") php_ini=$(php --ini) conf_php=$(echo "$php_ini" | grep 'Loaded Configuration File' | awk '{print $NF}') addconf_dir="`dirname $conf_php`/conf.d/" declare -a additionnal=() add_ini() { addconf_php=$(echo "$php_ini" | grep 'Scan for additional .ini files in' | awk '{print $NF}' | xargs ls) echo "Additionnal *.ini:" z=0 for i in $addconf_php do echo "$z. $addconf_dir$i" additionnal+=("$addconf_dir$i") ((z++)) done echo "" } # MySQL v_mysql=$(mysql --help | grep -A1 'Default options') v_php_apache=$(php --info | grep 'PHP Version' | sed -n '1p') options=( "Apache (r)estart" "(E)dit httpd.conf" "Edit httpd-v(h)osts.conf" "Edit httpd-(s)sl.conf" "error_log Apache" "(a)ccess_log Apache" "Edit (P)HP.ini" "(O)pen PHP info page in browser" "Apache/PHP/MySQL (V)ersion" "Apache/PHP/MySQL (C)onfiguration files" "S(w)itch to PHP version" "(U)pdate sphp" "Edit additio(n)nals *.ini files" "(Q)uit" ) # --> sphp:<-- # mod-php: https://gist.github.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/ # php-fpm: https://gist.github.com/rozsival/10289d1e2006c68009ace0478306ecd2/ # Brew PHP switcher # https://github.com/philcook/brew-php-switcher#readme select option in "${options[@]}"; do case "$REPLY" in 1|r|R) sudo apachectl -k restart ;; 2|e|E) "$editeur" "$conf_apa" ;; # httpd.conf 3|h|H) "$editeur" "$vhost" ;; # httpd-vhost.conf 4|s|S) "$editeur" "$ssl" ;; # httpd-ssl.conf 5) tail -f "$log_apa" ;; 6|a|A) tail -f "$access_apa" ;; 7|p|P) "$editeur" "$conf_php" ;; # php.ini 8|o|O) echo '' > $document_root/php-info.php && open 'http://localhost/php-info.php' ;; 9|v|V) apachectl -v && echo ' ' && php -v && echo ' ' && echo "$v_php_apache (Apache)" && echo ' ' && mysql --version ;; 10|c|C) echo -e "\033[4mApache:\033[0m " && echo $v_apa && echo ' ' && echo -e "\033[4mPHP:\033[0m " && echo "$v_php" && echo ' ' && echo -e "\033[4mMySQL:\033[0m " && echo $v_mysql ;; 11|w|W) read -e -n 3 -p "Which PHP version? (7.3/7.4/8.0/8.1): " choice if [[ "$choice" == "7.3" ]] || [[ "$choice" == "7.4" ]] || [[ "$choice" == "8.0" ]] || [[ "$choice" == "8.1" ]]; then echo "$choice" | xargs -p -n 1 sphp ; fi ;; #if [[ "$choice" == "7.3" ]] || [[ "$choice" == "7.4" ]] || [[ "$choice" == "8.0" ]]; then echo "$choice" | xargs -p -n 1 brew-php-switcher ; fi ;; #12|u|U) curl -L 'https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw' > /usr/local/bin/sphp && chmod +x /usr/local/bin/sphp ;; 12|u|U) open 'https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw' ;; 13|n|N) add_ini read -e -n 1 -p "Edit which file ?: " choice #if [[ "$choice" == 1 ]] || [[ "$choice" == 4 ]]; then "$editeur" ${additionnal[$choice]}; fi ;; if [ $choice -ge 0 ] && [ $choice -lt $z ]; then "$editeur" ${additionnal[$choice]}; fi ;; 14|q|Q) break ;; esac done