#https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017
apt-get install update
1 |
apt-get install software-properties-common apt-utils |
add-apt-repository ppa:ondrej/php -y
apt-get update
apt-get install php7.2 php7.2-dev php7.2-xml -y –allow-unauthenticated
apt-get install gnupg gnupg2 gnupg1
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add –
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17
ACCEPT_EULA=Y apt-get install mssql-tools
echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bash_profile
echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bashrc
source ~/.bashrc
apt install -y unixodbc-utf16 unixodbc-dev-utf16 2> /dev/null
sudo apt-get install php-pear
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
#had to modify the location
phpini=”/usr/local/lib/php.ini”
echo “” >> $phpini
echo “# Extensions for Microsoft SQL Server Driver” >> $phpini
echo “extension=sqlsrv.so” >> $phpini
echo “extension=pdo_sqlsrv.so” >> $phpini
echo “” >> $phpini
#I didn’t had CLI?!
#phpini=”/etc/php/7.2/cli/php.ini”
#echo “” >> $phpini
#echo “# Extensions for Microsoft SQL Server Driver” >> $phpini
#echo “extension=sqlsrv.so” >> $phpini
#echo “extension=pdo_sqlsrv.so” >> $phpini
#echo “” >> $phpini
echo “Installing Microsoft ODBC Driver for SQL Server”
# Originally from: http://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/msodbcsql/
apt install -y libc6 libstdc++6 libkrb5-3 libcurl3 openssl debconf unixodbc unixodbc-dev
#doesn’t work: $basedir is not set, but also none of the (sub)directories exist on my setup
#sudo ACCEPT_EULA=Y dpkg -i $basedir/config/php-extensions/mssql/bin/debs/current/*.deb
# Create symlinks for tools
#had to change the source filenames to sqlcmd and bcp because with -13.0.1.0 suffix the files were not found
ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp
service php7.2-fpm restart
#https://github.com/Microsoft/msphpsql/issues/522
or
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
<span class="pln"> https://stackoverflow.com/questions/48651225/cant-get-sqlsrv-pdo-to-connect-to-remote-sql-server </span><span class="com"># Install dependencies</span> <span class="com"># </span><span class="pln"> apt</span><span class="pun">-</span><span class="kwd">get</span> <span class="pun">-</span><span class="pln">f install apt</span><span class="pun">-</span><span class="kwd">get</span><span class="pln"> install libc6 libstdc</span><span class="pun">++</span><span class="lit">6</span><span class="pln"> libkrb5</span><span class="pun">-</span><span class="lit">3</span><span class="pln"> libcurl4 openssl debconf unixodbc unixodbc</span><span class="pun">-</span><span class="pln">dev </span><span class="com"># Manually install msodbcsql 13.1 and mssql-tools 14.0.5</span> <span class="com"># ODBC .deb found here -> https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server</span> <span class="com"># Tools .deb found here -> https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools</span> <span class="com"># ... Are they compatible?</span> <span class="com">#</span><span class="pln"> mkdir </span><span class="pun">/</span><span class="pln">debs cd </span><span class="pun">/</span><span class="pln">debs wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/m/msodbcsql17/msodbcsql17_17.2.0.1-1_amd64.deb</span><span class="pln"> wget </span><a href="https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/m/mssql-tools/mssql-tools_17.2.0.1-1_amd64.deb"><span class="com">https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/m/mssql-tools/mssql-tools_17.2.0.1-1_amd64.deb</span></a><span class="pln"> dpkg </span><span class="pun">-</span><span class="pln">i </span><span class="pln">msodbcsql17_17.2.0.1-1_amd64.deb dpkg </span><span class="pun">-</span><span class="pln">i </span><span class="pln"><a href="https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/m/mssql-tools/mssql-tools_17.2.0.1-1_amd64.deb"><span class="com">mssql-tools_17.2.0.1-1_amd64.deb</span></a> </span><span class="com"># Link tools to sqlcmd</span> <span class="com">#</span><span class="pln"> echo </span><span class="str">'export PATH="$PATH:/opt/mssql-tools/bin"'</span> <span class="pun">>></span> <span class="pun">~/.</span><span class="pln">bash_profile echo </span><span class="str">'export PATH="$PATH:/opt/mssql-tools/bin"'</span> <span class="pun">>></span> <span class="pun">~/.</span><span class="pln">bashrc source </span><span class="pun">~/.</span><span class="pln">bashrc </span><span class="com"># PHP 7.2 sqlsrv pdo extension</span> <span class="com"># </span><span class="pln"> apt-get install php-pear php7.2-dev pecl install sqlsrv pecl install pdo_sqlsrv </span><span class="com"># Config php.ini for CLI & NGINX</span> <span class="com">#</span><span class="pln"> phpversion</span><span class="pun">=</span><span class="str">"7.2"</span><span class="pln"> phpini</span><span class="pun">=</span><span class="str">"/etc/php/$phpversion/fpm/php.ini"</span><span class="pln"> echo </span><span class="str">""</span> <span class="pun">>></span><span class="pln"> $phpini echo </span><span class="str">"# Extensions for Microsoft SQL Server Driver"</span> <span class="pun">>></span><span class="pln"> $phpini echo </span><span class="str">"extension=sqlsrv.so"</span> <span class="pun">>></span><span class="pln"> $phpini #echo </span><span class="str">"extension=pdo_sqlsrv.so"</span> <span class="pun">>></span><span class="pln"> $phpini echo </span><span class="str">""</span> <span class="pun">>></span><span class="pln"> $phpini phpini</span><span class="pun">=</span><span class="str">"/etc/php/"</span><span class="pln">$phpversion</span><span class="str">"/cli/php.ini"</span><span class="pln"> echo </span><span class="str">""</span> <span class="pun">>></span><span class="pln"> $phpini echo </span><span class="str">"# Extensions for Microsoft SQL Server Driver"</span> <span class="pun">>></span><span class="pln"> $phpini echo </span><span class="str">"extension=sqlsrv.so"</span> <span class="pun">>></span><span class="pln"> $phpini #echo </span><span class="str">"extension=pdo_sqlsrv.so"</span> <span class="pun">>></span><span class="pln"> $phpini echo </span><span class="str">""</span> <span class="pun">>></span><span class="pln"> $phpini </span><span class="com"># Restart NGINX</span> <span class="com">#</span> <span class="pun">service </span><span class="pln">php$phpversion</span><span class="pun">-</span><span class="pln">fpm restart </span><span class="com"># Shouldn't have to but just for good measure</span> <span class="com">#</span><span class="pln"> shutdown </span><span class="pun">-</span><span class="pln">r now </span><span class="com"># And last but not least, test SQL connection</span> <span class="com"># </span> |
1 2 |
apt-get install -y locales && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen |
1 2 3 4 |
<span class="pln">chmod -R o+rx /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.2.so. 0.1 </span> |
1 |
Lets make sure that you have your SSL installed and updated:
1 2 3 |
apt-get update apt-get install libssl1.0.0 libssl-dev |
Now lets fix the naming of the file by creating a link:
1 2 3 4 |
cd /lib/x86_64-linux-gnu ln -s libssl.so.1.0.0 libssl.so.10 ln -s libcrypto.so.1.0.0 libcrypto.so.10 |
1 |
</code><code>cp /etc/php/7.2/cli/conf.d/30-pdo_sqlsrv.ini /etc/php/7.2/fpm/conf.d |
1 2 |
<span class="pln"> sqlcmd </span><span class="pun">-</span><span class="pln">S </span><span class="pln">30daysofazure-sqlserver.database.windows.net</span><span class="pun"> -</span><span class="pln">U </span><span class="pun"><span class="pln">chunsiongtan</span> </span> |
extension=pdo_sqlsrv.so
is loaded in 30-pdo_sqlsrv.ini instead of php.ini
debugging do ldd pdo_sqlsrv.so or any other .so files
Be First to Comment