【发布时间】:2016-07-15 09:48:41
【问题描述】:
我正在尝试使用 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
【问题讨论】:
-
您查看过 Apache 日志吗? (
/var/log/apache2/error.log是在 Ubuntu 16.04 上记录 Apache 错误的默认位置)您可以编辑您的问题并显示您在/etc/odbc.ini和/etc/odbcinst.ini文件中的内容吗? -
感谢提示,我已编辑问题
标签: php sql-server apache ubuntu odbc