本地机器上的ubuntu nginx。致命错误:调用未定义的函数odbc_connect()

时间:2015-04-24 10:07:37

标签: php linux ubuntu nginx

我在本地PC上用Ubuntu安装了nginx, php (php5-cli php5-common php5-mysql php5-fpm php-pear php5-cgi php5-odbc php5-curl),odbc。它工作正常,直到(我猜)我重新启动系统。现在我来了

  

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

我的配置:

odbc.ini
[My_DB]
Driver = FreeTDS
Description = My_DB
Trace = No
Server = x.x.x.x
Port = 5000
TDS Version = 5.0
Database = dbname

odbcinst.ini
[FreeTDS]
Description = FreeTDS unixODBC Driver v0.63 with protocol v8.0
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
FileUsage = 1
UsageCount = 2

freetds.conf
[My_DB]
host = x.x.x.x
port = 5000
tds version = 5.0

我在phpinfo()中找到的关于ODBC的内容:

  

PDO驱动程序mysql,odbc

     

PDO Wez Furlong的ODBC驱动程序

     

ODBC Stig Bakken,Andreas Karajannis,Frank M. Kromann,Daniel R. Kalowsky

有什么问题?感谢。

1 个答案:

答案 0 :(得分:1)

您没有安装(独立)ODBC软件包,而是安装了PDO drivers for ODBC
您可以将它们与PDO一起使用

$connection = new PDO('odbc:MSSQLServer', $username, $password);

但是要使用odbc_*函数,在编译PHP时,您似乎需要在installation page上至少启用一个包。
在Ubuntu上,您可能需要--with-unixODBC,但实际需要的内容取决于您如何使用这些功能。

但如果您使用apt-get中的PHP,则可能需要尝试

sudo apt-get install php5-odbc