Skip to content

Instantly share code, notes, and snippets.

@lloricode
Forked from LegitDongo/sqlsrv-php.sh
Created July 29, 2019 02:09
Show Gist options
  • Save lloricode/f8b5d73b32bc3d83d81cf4219fdf1abc to your computer and use it in GitHub Desktop.
Save lloricode/f8b5d73b32bc3d83d81cf4219fdf1abc to your computer and use it in GitHub Desktop.

Revisions

  1. @LegitDongo LegitDongo revised this gist Apr 2, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion sqlsrv-php7.2.sh
    Original file line number Diff line number Diff line change
    @@ -56,7 +56,7 @@ sudo update-alternatives --set php /usr/bin/php7.2
    #sudo apt-get install -y imagemagick php7.2-imagick
    # Enable PDF for Imagick -- disabled due to security concerns
    #sudo sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/g' /etc/ImageMagick-6/policy.xml
    #sudo sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"g' /etc/ImageMagick/policy.xml
    #sudo sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/g' /etc/ImageMagick/policy.xml

    sudo service php7.2-fpm restart

  2. @LegitDongo LegitDongo revised this gist Mar 15, 2019. 1 changed file with 38 additions and 7 deletions.
    45 changes: 38 additions & 7 deletions sqlsrv-php7.2.sh
    Original file line number Diff line number Diff line change
    @@ -1,17 +1,37 @@
    # Best if added to `after.sh` so that this gets run every time the box is provisioned

    # composer won't be able to download updates with an active proxy, and will hang trying to get the newest file
    # You may want to comment this out based on your network configuration
    sudo bash -c 'echo "export NO_PROXY=*" >> ~/.profile'

    sudo add-apt-repository ppa:ondrej/php -y
    sudo apt-get update
    sudo apt-get install php7.2-dev php7.2-xml unixodbc unixodbc-dev -y --allow-unauthenticated
    sudo pecl install sqlsrv-5.3.0
    sudo pecl install pdo_sqlsrv-5.3.0
    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/7.2/fpm/conf.d/20-sqlsrv.ini'
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/fpm/conf.d/30-pdo_sqlsrv.ini'
    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-sqlsrv.ini'
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/cli/conf.d/30-pdo_sqlsrv.ini'
    sudo apt-get install php7.2-dev php7.2-xml mcrypt php-pear php-mbstring unixodbc unixodbc-dev -y --allow-unauthenticated

    # Set up some pecl information so that it's forced to use php 7.2 instead of defaulting to newest
    # This is also done with the "-d php_suffix=7.2" on the pecl commands below
    # Use the below three commands to change it for the whole pecl environment
    #sudo pecl config-set php_ini /etc/php/7.2/cli/php.ini
    #sudo pecl config-set php_bin /usr/bin/php7.2
    #sudo pear config-set php_suffix 7.2

    sudo pecl -d php_suffix=7.2 install sqlsrv-5.3.0
    sudo pecl -d php_suffix=7.2 install pdo_sqlsrv-5.3.0

    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/7.2/mods-available/sqlsrv.ini'
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/mods-available/pdo_sqlsrv.ini'

    # Link new ini to fpm
    sudo bash -c 'ln -s /etc/php/7.2/mods-available/sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-sqlsrv.ini'
    sudo bash -c 'ln -s /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/fpm/conf.d/30-pdo_sqlsrv.ini'
    # Link new ini to cli
    sudo bash -c 'ln -s /etc/php/7.2/mods-available/sqlsrv.ini /etc/php/7.2/cli/conf.d/20-sqlsrv.ini'
    sudo bash -c 'ln -s /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/cli/conf.d/30-pdo_sqlsrv.ini'
    sudo service php7.2-fpm restart

    sudo bash -c 'curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -'


    ### CHOOSE ONE FROM BELOW BASED ON VERSION

    #Ubuntu 14.04
    @@ -29,4 +49,15 @@ sudo bash -c 'curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list
    sudo apt-get update
    sudo ACCEPT_EULA=Y apt-get install msodbcsql17

    # Change the default php cli command to point to 7.2 instead of newest
    sudo update-alternatives --set php /usr/bin/php7.2

    # Install Imagick (in case you need it)
    #sudo apt-get install -y imagemagick php7.2-imagick
    # Enable PDF for Imagick -- disabled due to security concerns
    #sudo sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/g' /etc/ImageMagick-6/policy.xml
    #sudo sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"g' /etc/ImageMagick/policy.xml

    sudo service php7.2-fpm restart

    exit
  3. @LegitDongo LegitDongo revised this gist Oct 3, 2018. 1 changed file with 22 additions and 2 deletions.
    24 changes: 22 additions & 2 deletions sqlsrv-php7.2.sh
    Original file line number Diff line number Diff line change
    @@ -2,11 +2,31 @@
    sudo add-apt-repository ppa:ondrej/php -y
    sudo apt-get update
    sudo apt-get install php7.2-dev php7.2-xml unixodbc unixodbc-dev -y --allow-unauthenticated
    sudo pecl install sqlsrv
    sudo pecl install pdo_sqlsrv
    sudo pecl install sqlsrv-5.3.0
    sudo pecl install pdo_sqlsrv-5.3.0
    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/7.2/fpm/conf.d/20-sqlsrv.ini'
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/fpm/conf.d/30-pdo_sqlsrv.ini'
    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-sqlsrv.ini'
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/cli/conf.d/30-pdo_sqlsrv.ini'
    sudo service php7.2-fpm restart

    sudo bash -c 'curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -'

    ### CHOOSE ONE FROM BELOW BASED ON VERSION

    #Ubuntu 14.04
    #sudo bash -c 'curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list > /etc/apt/sources.list.d/mssql-release.list'

    #Ubuntu 16.04
    #sudo bash -c 'curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list'

    #Ubuntu 17.10
    #sudo bash -c 'curl https://packages.microsoft.com/config/ubuntu/17.10/prod.list > /etc/apt/sources.list.d/mssql-release.list'

    #Ubuntu 18.04
    sudo bash -c 'curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list'

    sudo apt-get update
    sudo ACCEPT_EULA=Y apt-get install msodbcsql17

    exit
  4. @LegitDongo LegitDongo created this gist Oct 3, 2018.
    12 changes: 12 additions & 0 deletions sqlsrv-php7.2.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,12 @@
    # Best if added to `after.sh` so that this gets run every time the box is provisioned
    sudo add-apt-repository ppa:ondrej/php -y
    sudo apt-get update
    sudo apt-get install php7.2-dev php7.2-xml unixodbc unixodbc-dev -y --allow-unauthenticated
    sudo pecl install sqlsrv
    sudo pecl install pdo_sqlsrv
    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/7.2/fpm/conf.d/20-sqlsrv.ini'
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/fpm/conf.d/30-pdo_sqlsrv.ini'
    sudo bash -c 'echo "extension=sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-sqlsrv.ini'
    sudo bash -c 'echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/cli/conf.d/30-pdo_sqlsrv.ini'
    sudo service php7.2-fpm restart
    exit