#! /bin/sh # laravel-prep (Bourne shell script) -- system dependencies for Laravel LTS # Version: 1.0 # # https://laravel.com/docs/5.5/installation # # TO-DO: # + Detect OS # + Support RHEL-equivalents # + Support Fedora # + Support Amazon Linux set -e # Detect PHP 7 if output=$(php -i) then maj_ver=$(echo "$output" | sed -n '1,10 s/^PHP Version => \([^.]*\).*/\1/p') if [ -n "$maj_ver" ] ; then if [ "$maj_ver" -lt 7 ] ; then echo "PHP version $maj_ver is insufficient for running Laravel 5.5" >&2 exit 3 fi else echo "Can't find PHP version in output of 'php -i'" >&2 exit 4 fi else echo "Can't run PHP CLI to query version" >&2 exit 2 fi # Detect DB driver db_driver=n for o in php-mysql php-pgsql php-sqlite3 ; do if dpkg-query -W $o 2>/dev/null then db_driver=y fi done while [ $db_driver = n ] ; do echo "Please select your desired DB driver: " echo " 1) MySQL" echo " 2) Postgres" echo " 3) SQLite" echo " 0) cancel" read -p '> ' choice case $choice in 1) db_driver=php-mysql ;; 2) db_driver=php-pgsql ;; 3) db_driver=php-sqlite3 ;; 0) exit 5 ;; esac done if [ $db_driver != y ] ; then extra="$extra $db_driver" fi # If composer is not already (manuall) installed, install the system package if ! type -t composer > /dev/null then extra="$extra composer" fi apt update apt install php-pdo php-tokenizer php-xml php-mcrypt php-mbstring $extra