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

调用未定义的函数odbc_connect()php 7,php,Php,我正在测试php 7,遇到了以下错误: 致命错误:未捕获错误:调用未定义的函数odbc_connect() 从文档页面:PHP7未被列为受支持 有没有人有办法解决这个问题,或者知道什么时候会得到支持 谢谢@有一个书面文档:ODBC支持不需要任何扩展dll。在PHP5.x中也是如此,我必须从ini文件中删除“extension=PHP_odbc.dll”。 但在PHP7中,我不得不将其放回原处 我在新的PHP7目录中再次找到了文件“ext/php_odbc.dll”。它适合我:)。文档页面确实列

我正在测试php 7,遇到了以下错误:

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

从文档页面:PHP7未被列为受支持

有没有人有办法解决这个问题,或者知道什么时候会得到支持


谢谢@

有一个书面文档:ODBC支持不需要任何扩展dll。在PHP5.x中也是如此,我必须从ini文件中删除“extension=PHP_odbc.dll”。
但在PHP7中,我不得不将其放回原处


我在新的PHP7目录中再次找到了文件“ext/php_odbc.dll”。它适合我:)。

文档页面确实列出了PHP7,所以只需安装PHPDBC,就可以了。目前我自己在RedHat EL7和Remi php7上使用它。

我遇到了同样的问题。然而,根据您提供的链接,PHP7实际上是受支持的。所以我不知道为什么你有这么多的评论告诉你去重新编写你的代码

这就是我最终解决问题的原因:

sudo apt-get install php-odbc
然后重新启动Apache。

只需删除分号并重新启动Apache即可启用“php\u odbc.dll”扩展名

如果php.ini中没有这样的行,只需通过添加:
extension=php\u odbc.dll
在自己的基础上创建它(您会在php.ini中找到许多类似的行),然后重新启动Apache


如果Apache没有启动或无法加载php_odbc.dll,请查看php的ext文件夹,如果有名为php_odbc.dll的dll。如果没有这样的DLL,Xampp/PHP7本机不支持ODBC。在这种情况下,您应该使用PHP5.x安装旧的Xampp版本,并将数据库用作MS Access或Sql Server,在PHP.ini文件中添加extension=PHP_odbc.dll C:\xxxxxx\php\php.ini

*php.ini文件中的extension=php\u odbc.dll前面没有分号:

> ; 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+)
但是,在PHP7中,ODBC不是默认设置。明确的

extension=odbc
为我工作(推荐新语法)

编辑: 如果您的体系结构是x64 您必须使用C:\Windows\SysWOW64\odbcad32.exe
这里不是C:\Windows\system32\odbcad32.exe,而是错误消息:

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

在Redhat Linux 7上运行:

yum install php-odbc
您将得到这些包的红色标记:

通过php命令行运行测试连接的代码示例:php[filename].php

<?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\n");
}
// close the connection
odbc_close($connect);
?>


享受吧

你对PDO有什么不满?没什么,但它需要大量的代码更改。php7不支持你的驱动程序,所以你做的任何事情都需要代码更改。我投票结束这个问题,因为OP正在寻找一个不存在的魔法解决方案。哇,它已经发布了两周了,这是一个不存在的魔法解决方案?你有他们计划不支持它的信息吗?我可以等一会儿,我必须做sudo-apt安装php7.0-odbc才能让它工作(ubuntu16.04),这已经被多次给出了。你有什么新的补充吗?