我正在测试php 7并遇到了这个错误:
致命错误:未捕获错误:调用未定义函数odbc_connect()
从文档页面:http://php.net/manual/en/function.odbc-connect.php php 7未列为支持。
有没有人可以解决这个问题,或者知道何时会支持它?
感谢@
答案 0 :(得分:15)
在doc中写道:ODBC支持不需要任何扩展dll。在PHP 5.x中确实如此,我不得不删除" extension = php_odbc.dll"来自ini文件。
但是在PHP 7中我不得不把它放回去。
我找到了文件" ext / php_odbc.dll"再次在新的PHP 7目录中。它对我有用:)。
答案 1 :(得分:3)
我遇到了同样的问题。但是根据您提供的链接,PHP7实际上是受支持的。所以我不确定你为什么要这么多评论告诉你重新编写代码。
这最终解决了我的问题:
RewriteEngine On
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^/(\d+)*$ ./data.php?chn=$1
然后重启Apache。
答案 2 :(得分:1)
DOC页面确实列出了PHP 7,所以只需安装php-odbc就可以了。目前我自己在RedHat EL7上使用Remi php7。
答案 3 :(得分:1)
通过删除分号并重新启动Apache,只需输入“php_odbc.dll”扩展名即可。
如果php.ini中没有这样的行,只需自己创建(你会在php.ini中找到许多类似的行),添加:numpy.equal(x, None)
然后重启Apache。
如果Apache没有启动或无法加载php_odbc.dll,请查看PHP的ext-Folder,如果有这样一个名为php_odbc.dll的DLL。如果没有这样的DLL,Xampp / PHP7本身不支持ODBC。在这种情况下,您应该使用PHP 5.x
安装较旧的Xampp版本答案 4 :(得分:1)
PHP 7.2.7,同时将数据库用作MS Access或Sql Server时,在 php.ini 文件中添加 extension = php_odbc.dll C:\ xxxxxx \ php \ php.ini
*在 extension = php_odbc.dll 之前没有分号
答案 5 :(得分:1)
从php.ini文件中:
> ; 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。明确
extension=odbc
为我工作(建议使用新语法)
编辑: 如果您的架构是x64 您必须使用C:\ Windows \ SysWOW64 \ odbcad32.exe 而不是C:\ Windows \ system32 \ odbcad32.exe
答案 6 :(得分:0)
这是错误消息:
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);
?>
享受!