我想用PHP连接SQL Server。 我已经安装了Microsoft ODBC驱动程序13 SQL Server和我一直在使用“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