gpt4 book ai didi

php - 在 Ubuntu 中调用未定义的函数 odbc_connect()

转载 作者:行者123 更新时间:2023-12-04 18:46:15 26 4
gpt4 key购买 nike

我正在尝试将 PHP 连接到 SQL 服务器。我已经为 SQL Server 安装了 Microsoft ODBC Driver 13,并使用“isql”命令对其进行了测试。现在,当我尝试用 PHP 连接到服务器时,它总是崩溃并显示“http 错误 500”。这是代码:

<?php
$server = merkur.edikt.local;
$database = ITServiceE;
$connection = odbc_connect("Driver={ODBC DRIVER 13 for SQL Server};
Server=$server;Database=$database;",
'user',
'PW'
);
echo "connected";
?>

我正在使用 Ubuntu 16.04 服务器和 Apache2 和 PHP 7。
我认为 Apache 的权限可能有问题(如果 Apache 可以访问 ODBC 驱动程序),但我不确定这是如何工作的。
编辑:
这是来自 Apache 错误的日志:
PHP Notice:  Use of undefined constant merkur - assumed 'merkur' in         /var/www/html/index.php on line 2
PHP Notice: Use of undefined constant edikt - assumed 'edikt' in /var/www/html/index.php on line 2
PHP Notice: Use of undefined constant local - assumed 'local' in /var/www/html/index.php on line 2
PHP Notice: Use of undefined constant ITServiceE - assumed 'ITServiceE' in /var/www/html/index.php on line 3
PHP Fatal error: Uncaught Error: Call to undefined function odbc_connect() in /var/www/html/index.php:4\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 4

并且文件 odbc.ini 是空的,并且 odbcinst.ini 看起来像这样:
[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
Threading=1
UsageCount=2

最佳答案

调用未定义函数 odbc_connect()意味着您的 PHP 系统没有任何具有该名称的函数。

由于它不是用纯 PHP 编写的用户函数,而是来自 PHP 扩展的函数,这意味着您还没有安装 such extension .值得注意的是,PHP 扩展与 SQL Server 驱动程序不同(两者都需要)。

您的代码还包含一些未定义的常量,我猜这些常量是字符串。我强烈建议您在开发框中启用完整的错误报告,这样您就不需要检查错误日志来了解简单的错误。

关于php - 在 Ubuntu 中调用未定义的函数 odbc_connect(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com