致命错误:未被捕获的错误:在ubuntu中调用未定义函数odbc_connect()

时间:2019-08-22 04:35:22

标签: sql-server linux odbc

我想使用ODBC_Connect()从Ubuntu(16.0.4 LTS)连接到SQL Server 在PHP功能。 但仍然错误:

致命错误:未捕获错误:调用未定义函数odbc_connect()

我遵循了这一步骤 Call to undefined function odbc_connect() in Ubuntu

但是他们都不起作用。

当我使用以下命令从Terminal连接到SQL Server时:

isql -v [server] [username] [pwd] 
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

其连接成功,我可以从该SQL服务器中的表中选择一些数据

但是我在PHP代码中坚持使用ODBC_Connect。

putenv("FREETDSCONF=/etc/freetds/freetds.conf");
putenv("ODBCSYSINI=/etc/odbcinst.ini");
putenv("ODBCINI=/etc/odbc.ini");

$connection = odbc_connect("Driver={FreeTDS};
    Server=[exampleServer];Database=database_name;", 
    'username', 
    'pwd');

freedts.conf

[exampleServer]
    host = 10.4.xx.xx
    port = 1433
    tds version = auto

odbcinst.ini

[FreeTDS]
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.4.so.1.1
UsageCount=1

odbc.ini

[exampleServer]
Driver=FreeTDS
Description=My Test ODBC Database Connection
Trace=Yes
Server=10.4.xx.xx
Port=1433
TDS Version=7.2
Database=database_name

仅供参考,此配置命令来自php_info()

    './configure' '--prefix=/opt/lampp' '--with-apxs2=/opt/lampp/bin/apxs' '--with-config-file-path=/opt/lampp/etc' '--with-mysql=mysqlnd' '--enable-inline-optimization' '--disable-debug' '--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-ftp' '--enable-gd-native-ttf' '--enable-magic-quotes' '--enable-shmop' '--disable-sigchild' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--with-gdbm=/opt/lampp' '--with-jpeg-dir=/opt/lampp' '--with-png-dir=/opt/lampp' '--with-freetype-dir=/opt/lampp' '--with-zlib=yes' '--with-zlib-dir=/opt/lampp' '--with-openssl=/opt/lampp' '--with-xsl=/opt/lampp' '--with-ldap=/opt/lampp' '--with-gd' '--with-imap=/bitnami/xamppunixinstallerstack72Dev-linux-x64/src/imap-2007e' '--with-imap-ssl' '--with-gettext=/opt/lampp' '--with-mssql=shared,/opt/lampp' '--with-pdo-dblib=shared,/opt/lampp' '--with-sybase-ct=/opt/lampp' '--with-mysql-sock=/opt/lampp/var/mysql/mysql.sock' '--with-mcrypt=/opt/lampp' '--with-mhash=/opt/lampp' '--enable-sockets' '--enable-mbstring=all' '--with-curl=/opt/lampp' '--enable-mbregex' '--enable-zend-multibyte' '--enable-exif' '--with-bz2=/opt/lampp' '--with-sqlite=shared,/opt/lampp' '--with-sqlite3=/opt/lampp' '--with-libxml-dir=/opt/lampp' '--enable-soap' '--with-xmlrpc' '--enable-pcntl' '--with-mysqli=mysqlnd' '--with-pgsql=shared,/opt/lampp/' '--with-iconv=/opt/lampp' '--with-pdo-mysql=mysqlnd' '--with-pdo-pgsql=/opt/lampp/postgresql' '--with-pdo_sqlite=/opt/lampp' '--with-icu-dir=/opt/lampp' '--enable-fileinfo' '--enable-phar' '--enable-zip' '--enable-intl' '--disable-huge-code-pages'

我只想使用odbc_connect()函数或任何其他方法连接到SQL Server 它的功能来自我在Linux上运行的php代码

感谢您的友善建议。

0 个答案:

没有答案