{"id":331,"date":"2025-01-02T11:53:02","date_gmt":"2025-01-02T04:53:02","guid":{"rendered":"https:\/\/prosindo.com\/blog\/?p=331"},"modified":"2025-10-04T21:21:55","modified_gmt":"2025-10-04T14:21:55","slug":"install-php-odbc-in-ubuntu","status":"publish","type":"post","link":"https:\/\/prosindo.com\/blog\/2025\/01\/02\/install-php-odbc-in-ubuntu\/","title":{"rendered":"Install PHP ODBC in Ubuntu"},"content":{"rendered":"\n<p>only support ubuntu 18.04 20.04 22.04<\/p>\n\n\n\n<p><code>sudo apt update<br>sudo apt install gnupg<\/code><\/p>\n\n\n\n<p><code>sudo curl https:\/\/packages.microsoft.com\/keys\/microsoft.asc | apt-key add -<br>sudo curl https:\/\/packages.microsoft.com\/config\/ubuntu\/$(lsb_release -rs)\/prod.list &gt; \/etc\/apt\/sources.list.d\/mssql-release.list<br>sudo apt update<br>sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18<br>sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18<br>echo 'export PATH=\"$PATH:\/opt\/mssql-tools18\/bin\"' &gt;&gt; ~\/.bashrc<br>source ~\/.bashrc<br>sudo apt-get install -y unixodbc-dev<br>sudo apt install php-odbc<br>sudo service apache2 restart<br>cat \/etc\/odbcinst.ini<br>configure driver name specified in odbcinst above<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#example\n$odbc = odbc_connect('DRIVER={ODBC Driver 18 for SQL Server};SERVER=&lt;server&gt;;DATABASE=&lt;db&gt;;TrustServerCertificate=yes', 'sa', '&lt;password&gt;');<\/code><\/pre>\n\n\n\n<p><code>sqlcmd -S host -U user -P pass -C<\/code><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Note: TrustServerCertificate is required, else it will get ssl error<\/p>\n<\/blockquote>\n\n\n\n<p>https:\/\/learn.microsoft.com\/en-us\/sql\/connect\/odbc\/linux-mac\/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&#038;tabs=ubuntu18-install%2Calpine17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offline<\/p>\n\n\n\n<p>for ubuntu 24.04:<br><code>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EB3E94ADBE1229CF<\/code><br><code>sudo mkdir -p \/etc\/apt\/keyrings<br>curl -fsSL https:\/\/packages.microsoft.com\/keys\/microsoft.asc | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/microsoft.gpg<br>sudo nano \/etc\/apt\/sources.list.d\/microsoft-prod.list<br>deb [arch=amd64 signed-by=\/etc\/apt\/keyrings\/microsoft.gpg] https:\/\/packages.microsoft.com\/ubuntu\/24.04\/prod noble main<\/code><\/p>\n\n\n\n<p>ssl provider: unsupported protocol<br>odbc 18 not support older sql server, because it requires tls1.2+ (sql 2014\/older)<br>upgrade to sql server 2008 sp4, windows KB4057114, or use odbc 13<\/p>\n\n\n\n<p>odbc 17 not support ubuntu 24.04, use driver for 22.04 seems fine<br>\/etc\/apt\/sources.list.d\/mssql-release.list<br><code>deb [arch=amd64 signed-by=\/etc\/apt\/keyrings\/microsoft.gpg] https:\/\/packages.microsoft.com\/ubuntu\/22.04\/prod jammy main<\/code><\/p>\n\n\n\n<p>odbc 13 only support ubuntu 16.04 or lower, proxmox only support container ubuntu 20.04 or higher, need to install on vm<\/p>\n\n\n\n<p>alternatively use freetds, with encryption = off in \/etc\/freetds\/freetds.conf<br>use tsql to confirm<br><code>tsql -S &lt;host> -U &lt;user> -P &lt;password><\/code><br><code>tsql -H &lt;host> -p 1433 -D master -U &lt;user> -P &lt;password><\/code><\/p>\n\n\n\n<p>use odbc &#8211; freetds in php not support parameterized query<br><code>$odbc = odbc_connect(\"Driver=FreeTDS;Server=&lt;host&gt;;Port=1433; Database=&lt;db&gt;;Encryption=off\", \"&lt;user&gt;\", \"&lt;password&gt;\");<\/code><\/p>\n\n\n\n<p>use pdo &#8211; odbc &#8211; freetds to fix it<br><code>$dsn = 'odbc:Driver=FreeTDS;Server=&lt;host&gt;;Port=1433;Database=&lt;db&gt;; Encryption=off';<\/code><br><code>$pdo = new PDO($dsn, $username, $password, [PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION]);<\/code><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>only support ubuntu 18.04 20.04 22.04 sudo apt updatesudo apt install gnupg sudo curl https:\/\/packages.microsoft.com\/keys\/microsoft.asc | apt-key add -sudo curl https:\/\/packages.microsoft.com\/config\/ubuntu\/$(lsb_release -rs)\/prod.list &gt; \/etc\/apt\/sources.list.d\/mssql-release.listsudo apt updatesudo ACCEPT_EULA=Y apt-get install -y msodbcsql18sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18echo &#8216;export PATH=&#8221;$PATH:\/opt\/mssql-tools18\/bin&#8221;&#8216; &gt;&gt; ~\/.bashrcsource ~\/.bashrcsudo apt-get install -y unixodbc-devsudo apt install php-odbcsudo service apache2 restartcat \/etc\/odbcinst.iniconfigure driver name specified &hellip; <a href=\"https:\/\/prosindo.com\/blog\/2025\/01\/02\/install-php-odbc-in-ubuntu\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Install PHP ODBC in Ubuntu&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-331","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/posts\/331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/comments?post=331"}],"version-history":[{"count":10,"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/posts\/331\/revisions"}],"predecessor-version":[{"id":496,"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/posts\/331\/revisions\/496"}],"wp:attachment":[{"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/media?parent=331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/categories?post=331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prosindo.com\/blog\/wp-json\/wp\/v2\/tags?post=331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}