我在本地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
有什么问题?感谢。
答案 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