调用未定义函数odbc_connect()php 7


Call to undefined function odbc_connect() php 7

我正在测试php 7,并遇到此错误:

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

在doc页面上:http://php.net/manual/en/function.odbc-connect.php php 7未列为受支持。

有人能解决这个问题吗?或者知道何时会支持它吗?

谢谢@


用doc编写:ODBC支持不需要任何扩展dll。在PHP 5.x中确实如此,我必须从ini文件中删除" extension = php_odbc.dll "。

但是在PHP 7中,我不得不将其放回原处。

我再次在新的PHP 7目录中找到文件" ext / php_odbc.dll "。它对我有用:)。


DOC页面的确列出了PHP 7,因此只需安装php-odbc,您应该一切顺利。当前我自己在RedHat EL7上与Remi php7一起使用它。


PHP 7.2.7,将数据库用作MS Access或Sql Server时,在php.ini文件中添加extension = php_odbc.dll
C:\\\\\\\\ xxxxxx \\\\\\\\ php \\\\\\\\ php.ini

*扩展名前没有分号= php_odbc.dll


我遇到了同样的问题。但是,根据您提供的链接,实际上支持PHP7。因此,我不确定您为什么会有这么多的注释告诉您重新编写代码。

这最??终为我解决了这个问题:

1
sudo apt-get install php-odbc

接着重新启动Apache。


来自php.ini文件:

1
2
3
4
> ; Notes for Windows environments :
> ;
> ; - ODBC support is built in, so no dll is needed for it.
> ; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)

但是,在PHP 7中,默认情况下不是ODBC。显式

1
extension=odbc

为我工作(建议使用新语法)

编辑:
如果您的架构是x64
您必须使用C:\\\\\\\\ Windows \\\\\\\\ SysWOW64 \\\\\\\\\\ odbcad32.exe
而不是C:\\\\\\\\ Windows \\\\\\\\ system32 \\\\\\\\\\ odbcad32.exe


只需删除分号并重新启动Apache,即可扩展" php_odbc.dll "扩展名。

如果php.ini中没有这样的行,只需添加以下内容即可在您自己上创建它(您将在php.ini中找到许多类似的行):extension=php_odbc.dll,然后重新启动Apache。

如果Apache无法启动或无法加载php_odbc.dll,请查看PHP的ext-Folder(如果存在名为php_odbc.dll的DLL)。如果没有这样的DLL,则Xampp / PHP7本身不支持ODBC。在这种情况下,您应该使用PHP 5.x

安装较旧的Xampp版本。


这是错误消息:

Redhat PHP Fatal error: Uncaught Error: Call to undefined function
odbc_connect()

在Redhat Linux 7上运行:

1
yum install php-odbc

您将获得以下标记为红色的软件包:

enter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// filename: test-connection.php by running command -> php test-connection.php
$connect = odbc_connect("Driver=FreeTDS; Server=sbase.company.ca; Port=1433; TDS_Version=8; ClientCharset=UTF-8; Database=mydbase",'company\\\\user', 'password');
$query ="SELECT * from mytable";
// perform the query
$result = odbc_exec($connect, $query);
// fetch the data from the database
while(odbc_fetch_row($result)){
        $suid = odbc_result($result, 1);
        $uid = odbc_result($result, 2);
        $gid = odbc_result($result, 3);
        $name = odbc_result($result, 4);
        print("$name|$suid|$uid|$gid\
"
);
}
// close the connection
odbc_close($connect);
?>

享受!