Created
June 3, 2016 21:41
-
-
Save ekinhbayar/972524e03755c4a218fc909176ecf676 to your computer and use it in GitHub Desktop.
Bash script to install PHP 7.0 on Debian 8 (assumes apache2 is installed)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
cd "$(dirname "$0")" | |
# ADD SOURCES | |
echo "# jessie all" >> /etc/apt/sources.list | |
echo "deb http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list | |
echo "deb-src http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list | |
wget https://www.dotdeb.org/dotdeb.gpg | |
apt-key add dotdeb.gpg | |
rm -rf dotdeb.gpg | |
sudo apt-get update | |
echo -e "... Installing Aptitude Packages ...\n" | |
# DEPENDENCIES | |
sudo apt-get install -y \ | |
build-essential \ | |
pkg-config \ | |
git-core \ | |
autoconf \ | |
bison \ | |
libxml2-dev \ | |
libbz2-dev \ | |
libmcrypt-dev \ | |
libicu-dev \ | |
libssl-dev \ | |
libcurl4-openssl-dev \ | |
libltdl-dev \ | |
libjpeg-dev \ | |
libpng-dev \ | |
libpspell-dev \ | |
libreadline-dev \ | |
libpq-dev \ | |
libxslt1-dev | |
sleep 2 | |
echo -e "... Installing PHP 7.0 :) ...\n" | |
# PHP 7.0 GOODIES | |
sudo apt-get install -y \ | |
php7.0 \ | |
php7.0-dev \ | |
php7.0-cgi \ | |
php7.0-cli \ | |
php7.0-fpm \ | |
php7.0-curl \ | |
php7.0-gd \ | |
php7.0-json \ | |
php7.0-mcrypt \ | |
php7.0-mysql \ | |
php7.0-sqlite3 \ | |
php7.0-pgsql \ | |
php7.0-xml \ | |
php7.0-imap \ | |
php7.0-intl \ | |
php7.0-ldap \ | |
php7.0-odbc \ | |
php7.0-opcache \ | |
php7.0-readline \ | |
php7.0-pspell \ | |
php7.0-apcu \ | |
php7.0-bz2 \ | |
php7.0-xsl \ | |
php-gettext \ | |
libapache2-mod-php7.0 | |
INSTALL_SUCCESS=$? | |
# VERIFY INSTALLATION | |
if [ ! $INSTALL_SUCCESS -eq 0 ]; then | |
echo "There was an error while installing!" | |
else | |
# INSTALL PEAR | |
wget http://pear.php.net/go-pear.phar | |
php go-pear.phar | |
rm -rf go-pear.phar | |
# UPDATE ERROR | |
sed -i "s,error_reporting =.*,error_reporting = E_ALL,g" /etc/php/7.0/apache2/php.ini | |
sed -i "s,display_errors =.*,display_errors = On,g" /etc/php/7.0/apache2/php.ini | |
sed -i "s,;default_charset =.*,default_charset = \"UTF-8\",g" /etc/php/7.0/apache2/php.ini | |
# ENABLE <?= | |
sed -i "s,short_open_tag =.*,short_open_tag = On,g" /etc/php/7.0/apache2/php.ini | |
# Just in case, disable apache2 module for PHP5 and enable PHP7.0 module | |
a2dismod php5 | |
a2enmod php7.0 | |
service apache2 restart | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The following NEW packages will be installed:
autopoint debhelper gettext intltool-debian libapache2-mod-php5 libapache2-mod-php7.0 libapparmor1 libasprintf-dev libc-client2007e libgettextpo-dev libgettextpo0
libmail-sendmail-perl libodbc1 libonig2 libpcre3-dev libpcrecpp0 libqdbm14 libsys-hostname-long-perl libunistring0 libxmlrpc-epi0 mlock php-common php-gettext
php-pear php-readline php5 php5-cli php5-common php5-json php5-readline php7.0 php7.0-apcu php7.0-bz2 php7.0-cgi php7.0-cli php7.0-common php7.0-curl php7.0-dev
php7.0-fpm php7.0-gd php7.0-imap php7.0-intl php7.0-json php7.0-ldap php7.0-mcrypt php7.0-mysql php7.0-odbc php7.0-opcache php7.0-pgsql php7.0-pspell
php7.0-readline php7.0-sqlite3 php7.0-xmlrpc php7.0-xsl pkg-php-tools po-debconf shtool
Not sure what causes the php5 stuff inclusion, but this is why I disable apache2 module for PHP5 and enable PHP7.0 module :
a2dismod php5
a2enmod php7.0
service apache2 restart